linux下设置ssh无密码登陆
一.设置步骤
以ubuntu为例:
Ubuntu默认安装了SSH client,还需要安装SSH server。
执行命令:sudo apt-get install openssh-server
集群、单节点模式都需要用到SSH无密码登陆
输入命令
ssh localhost
会有提示(SSH首次登陆提示),输入yes。
然后按提示输入密码,这样就登陆到本机了。但这样的登陆是需要密码的,需要配置成无密码登陆。
先退出刚才的ssh,然后生成ssh证书:
exit # 退出 ssh localhost
cd ~/.ssh # 如果没有该目录,先执行一次ssh localhost
ssh-keygen -t rsa # 一直按回车就可以
cp id_rsa.pub authorized_keys
如果是需要登录到其他机器,只需把authorized_keys的内容加入到那台机器的authorized_keys即可。
二.问题
设置ssh无密码登陆出现的问题
1.sign_and_send_pubkey: signing failed: agent refused operation
执行eval "$(ssh-agent -s)"即可
cat id_dsa.pub >> authorized_keys
此时再用ssh localhost命令,就可以直接登陆了
2.设置允许root登录
vi /etc/ssh/sshd_config
将PermitRootLogin值改yes
允许不输入密码登录
将PermitEmptyPasswords yes前面的#号去掉
重启服务:service sshd restart(/etc/initd.d/sshd restart)