CentOS SSH免密码登录(SSH互信)

在做集群的时候是需要SSH互信的,另外也利于在另一节点操作方便

1.Node1中生成公钥和私钥对

1
2
3
4
5
6
7
[root@Node1~] # ssh-keygen -t rsa
Generatingpublic /private  rsa key pair.
Enterfile  in  which  to save the key ( /root/ . ssh /id_rsa ): 回车
Enterpassphrase (empty  for  no passphrase): 回车
Entersame passphrase again: 回车
Youridentification has been saved  in  /root/ . ssh /id_rsa .
Yourpublic key has been saved  in  /root/ . ssh /id_rsa .pub.

这期间一直按回车即可,这样公钥/私钥对就创建完毕

2.Node2上创建.ssh目录并设置权限

1
2
[root@Node2~] # mkdir /root/.ssh/
[root@Node2~] # chmod 700 .ssh/

3.将公钥传送到Node2上,这样在Node1上就可以免密码登录Node2了

1
2
3
[root@Node1~] # scp .ssh/id_rsa.pub Node2:.ssh/authorized_keys
root@Node2'spassword: 输入Node2(192.168.100.223)的root密码
id_rsa.pub                                   100%  392     0.4KB /s    00:00

或者也可以直接使用

1
[root@node1 ~] # ssh-copy-id -i .ssh/id_rsa.pub root@node2

现在我们已经可以在Node1上免密码登录Node2了

如果出现

1
2
3
4
5
[root@Node2 . ssh ] # ssh -copy -id -i id_rsa.pub root@Node1
- bash ssh command  not found
[root@Node2 . ssh ] # scp id_rsa.pub Node1:.ssh/authorized_keys
- bash scp command  not found

则是说明未安装openssh-clients

执行

1
yum -y  install  openssh-clients

这时最好在Node2上执行:

1
2
[root@node2 ~] # touch /root/.ssh/authorized_keys2  (如果已经存在这个文件, 跳过这条)
[root@node2 ~] # cat /root/.ssh/authorized_keys   >> /root/.ssh/authorized_keys2 (将authorized_keys的内容追加到 authorized_keys2 中)

这里在Node2上新建authorized_keys2文件,并将authorized_keys文件追加到authorized_keys2文件里是为了如果需要在多台机器上进行互信,则可能会将authorized_keys文件覆盖,现在直接将所有公钥都放在一个文件里头


另外再在Node2上也生成公钥和私钥对,将公钥传至Node1上



本文转自 rong341233 51CTO博客,原文http://blog.51cto.com/fengwan/1405466链接:


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值