比如要在192.168.1.1上 用户user1实现不输入密码就能ssh/sftp到机器192.169.1.2的用户user2
以用户user1登陆192.168.1.1
1)ssh-keygen -t rsa
直接回车,包括passpharse都回车,直接输入密码.
产生文件~/.ssh/id.pub,id_rsa.pub, ...
2)SCP传输密码公钥到服务器192.168.1.2
scp ~/.ssh/id_rsa.pub user2@192.168.1.2:/home/user2/.ssh/authorized_keys
如果要实现多个,可用cat命令......
3)以root用户登录到服务器192.168.1.2
执行命令,改变下列文件 (/home/user2)的属主和权限:
> chmod g-w /home/user2
> chmod 700 /home/user2/.ssh
> chmod 600 /home/user2/.ssh/authorized_keys
4) 在服务器上改变ssh服务的相关属性:
vi /etc/ssh/sshd_config
RSAAuthentication yes (取消注释,
打开RSA仍正 )
PubkeyAuthentication yes (取消注释)
#AuthorizedKeysFile /home/wang/.ssh/authorized_keys (注释掉此行,这样每个用户都可以寻找自己的/home/user_xxx/.ssh/authorized_keys文件。
保存,重启sshd:
service sshd restart
5)测试
ssh user2@192.168.1.2
成功!无需密码。
http://www.csua.berkeley.edu/~ranga/notes/ssh_nopass.html
6)调试重点
打开vi /etc/ssh/sshd_config
,设置log level为debug,比较详细输出日志到 /var/log/secure
----------------------------------------
本文参考了如下文章:
http://recursive-design.com/blog/2010/09/14/ssh-authentication-refused/
http://www.linuxquestions.org/questions/linux-newbie-8/unable-to-use-pub-private-keys-with-ssh-742564http://www.linuxquestions.org/questions/linux-software-2/passwordless-ssh-setup-not-working-any-ideas-559628/