假设现在我们有一个用户,叫tom,
1. 启动ssh ,
chkconfig iptables off
service iptables stop
service sshd start
然后在 tom 用户下 ,ssh localhost 命令,点yes,输入用户名和密码
2. 创建密钥
cd ~ 进入grid 根目录
然后执行命令
ssh-keygen -t rsa
这一路全部回车,完成后进入 .ssh 文件夹(隐藏的),会有一个id_rsa.pub文件
执行命令
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
生成一个authorized_keys 的文件,
chmod 600 .ssh/authorized_keys
authorized_keys的权限要是600
此时再执行 ssh localhost 就不用密码了
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:测试
- [jifeng@jifeng04 .ssh]$ ssh jifeng02
- Last login: Thu Aug 7 16:37:55 2014 from jifeng04
- [jifeng@jifeng02 ~]$
4:如果ssh的端口不是22,可用下面命令
ssh-copy-id -i ~/.ssh/id_rsa.pub "-p 23 jifeng@jifeng03"