第一步、生成公钥和私钥
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
默认在 ~/.ssh目录生成两个文件:
id_rsa :私钥
id_rsa.pub :公钥
第二步、导入公钥到认证文件
如果是进行本机免密码登录,则敲入以下命令
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
如果是登录远程主机免密码登录,则导入要免密码登录的服务器
首先将认证文件复制到服务器
scp ~/.ssh/authorized_keys xxx@主机名:/home/xxx/.ssh/
一般以上几步就ok了,但我的仍要输入密码,这个问题折磨了一上午终于在网上找到了解决方法,
用root用户登陆查看系统的日志文件:$tail /var/log/secure -n 20
…………
Oct 7 10:26:43 MasterServer sshd[2734]: Authentication refused: bad ownership or modes for file /home/sun/.ssh/authorized_keys
Oct 7 10:26:48 MasterServer sshd[2734]: Accepted password for sun from ::1 port 37456 ssh2
Oct 7 10:26:48 MasterServer sshd[2734]: pam_unix(sshd:session): session opened for user sun by (uid=0)
Oct 7 10:36:30 MasterServer sshd[2809]: Accepted password for sun from 192.168.1.241 port 36257 ssh2
Oct 7 10:36:30 MasterServer sshd[2809]: pam_unix(sshd:session): session opened for user sun by (uid=0)
Oct 7 10:38:28 MasterServer sshd[2857]: Authentication refused: bad ownership or modes for directory /home/sun/.ssh
…………
提示/home/sun/.ssh和 /home/sun/.ssh/authorized_keys权限不对,修改如下:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
再次登录则不需要密码就可以登录