前言

  ssh是标准网络协议,实现Unix系统远程登录,默认端口22,采用密文形式在网络中传输数据;

  相对于明文传输的Telnet,具有更高的安全性;

  基于ssh协议产生了ssh客户端、ssh服务器等软件,客户端、服务之间通过ssh协议传输数据;

 


ssh客户端、服务器

  ssh客户端有两种方式登录服务器:口令 和 密钥

  第一种:口令

    需要用户名、密码,这要求密码具有足够的复杂度才能获取更高的安全性

    这里的用户名、密码是服务器的用户名、密码



sudo ssh rocketv2@192.168.2.11 // ssh 用户名@服务器ip  回车后输入密码


  第二种:密钥

    简单解释原理:

      首先,在客户端创建一对公钥、私钥[公钥文件位置:~/.ssh/id_rsa.pub  私钥文件位置:~/.ssh/id_rsa];

      其次,把客户端生成的公钥放到ssh服务器中[位置:~/.ssh/authorized_keys],同时保存好私钥;

      最后,在使用ssh登录时,ssh客户端会把发送私钥 跟 服务器中的公钥匹配,如果匹配成功就可以登录了;

 


 ssh客户端登录ssh服务器

   由于口令方式上文已讲解过,现在只介绍秘钥方式

   第一步:

    客户端生成公钥、私钥对(记住公私钥对的位置以及名称)



ssh-keygen -t rsa  //一直回车,就会在“~/.ssh/”下生成“id_rsa、id_rsa.pub”两个文件

//注意:回车的过程 需要设置密码,一直回车就是默认密码为空
//     这个密码是对私钥的设置,应该设置成ssh服务器的登录密码;一般默认不设置;



  第二步:

    将ssh客户端生成的公钥放到ssh服务器中:可以使用命令的方式、U盘拷贝



scp ~/.ssh/id_rsa.pub rocketv2@192.168.2.11:/root/  //公钥文件传到/root下



将公钥中的内容放到~/.ssh/authorized_keys文件中(如果没有.ssh或者authorized_keys文件,手动创建);

  

    第二步中的所有操作,可以使用ssh-copy-id 命令一步到位,在.ssh目录中,使用命令时,会将公钥上传至服务器并创建.ssh/authorized_keys



ssh-copy-id root@192.168.2.11 //将公钥上传到服务器,创建.ssh/authorized_keys文件



 

  第三步:

    在客户端登录ssh服务器



ssh rocketv2@192.168.2.11 //无密码登录



 

 


ssh客户端、服务器安装

   客户端安装

    1.安装(ssh配置文件在/etc/ssh/ssh_config)客户端一般随系统安装



sudo apt-get install openssh-client  //安装客户端



  服务器安装

    1.安装  (ssh-server配置文件在/etc/ssh/sshd_config)



sudo apt-get install openssh-server



    2.检测版本



sudo ssh -V



    3.检查、开启、关闭服务


ps -e | grep ssh   //检查 如果有ssh-server说明已经启动,否则使用 sudo /etc/init.d/ssh start启动

sudo /etc/init.d/ssh restart   或者 sudo service sshd restart //重启ssh服务

sudo /etc/init.d/ssh stop      或者 sudo service sshd stop    //关闭服务

sudo /etc/init.d/ssh start     或者 sudo service sshd start   //开启服务

 


 SSH方式登陆报错

  在ubuntu终端中使用ssh连接远程服务器,登陆失败

  /home/用户/  .ssh/  known_hosts

  /etc/ssh ssh_config

  报错一:

    

centos中SSH账号密码 ssh 用户名密码_服务器

    按照报错中的提示:ssh-keygen -f "/home/xubiao/.ssh/known_hosts" -R 107.xxx.xxx.xxx 

    远程主机身份证明已经改动;有可能有些人在做邪恶的事;man-in-the-middle attack(中间人攻击);

  报错二:

    

centos中SSH账号密码 ssh 用户名密码_centos中SSH账号密码_02

 (未完待续)

参考:

  

  

  

  http://www.linuxidc.com/Linux/2015-03/115056.htm