多个Linux服务器之间实现ssh免密码连接

 假设现在我们有一个用户,叫tom,


1.  启动ssh , 


chkconfig iptables off


service iptables stop


service sshd start

 

然后在 tom 用户下 ,ssh localhost 命令,点yes,输入用户名和密码

多个Linux服务器之间实现ssh免密码连接_第1张图片

2. 创建密钥

   

  cd  ~ 进入grid 根目录


   然后执行命令

 ssh-keygen -t rsa

这一路全部回车,完成后进入   .ssh 文件夹(隐藏的),会有一个id_rsa.pub文件

多个Linux服务器之间实现ssh免密码连接_第2张图片

执行命令
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 

生成一个authorized_keys  的文件,

chmod 600 .ssh/authorized_keys

authorized_keys的权限要是600

此时再执行    ssh localhost 就不用密码了

多个Linux服务器之间实现ssh免密码连接_第3张图片


3 。多个机器免密码ssh 

     假设Node1的机器按上述步骤完成了。

    然后node2  同样执行上述步骤,

    最后将 node2和node1 的  authorized_keys 内容合并,成一个新authorized_keys 

     将合并的authorized_keys 替换各自authorized_keys,便能实现互相之间的免密码ssh 


注意:一个系统只能给一个用户实现 免密码ssh 连接!    

 比如你给 root用户实现了  免密码ssh  ,那个你再给 tom  或其他用户免密码,是无法实现的,

那个用户 ssh localhost  还是要密码 


chmod 600 .ssh/authorized_keys

authorized_keys的权限要是600


使用便捷命令

linux系统配置免密码的方式:

1:ssh-keygen -t rsa

生成密钥

2:ssh-copy-id -i ~/.ssh/id_rsa.pub jifeng@jifeng02

把本机的公钥追到jifeng02的 .ssh/authorized_keys 里

3:测试

[plain]  view plain copy
  1. [jifeng@jifeng04 .ssh]$ ssh jifeng02  
  2. Last login: Thu Aug  7 16:37:55 2014 from jifeng04  
  3. [jifeng@jifeng02 ~]$   

4:如果ssh的端口不是22,可用下面命令

ssh-copy-id -i ~/.ssh/id_rsa.pub "-p 23 jifeng@jifeng03"


你可能感兴趣的:(*Linux,操作系统)