免密码安全登录ubuntu12.04/Linux

免密码安全登录ubuntu12.04/Linux

这个教程是最新的,适用Ubuntu 12.04,和其它新版本的linux发行版
1. 在客户端机器上生成ssh密钥对:
ssh-keygen
2. 把公钥上传到服务器上:
scp ~/.ssh/id_rsa.pub user@10.10.10.1:
3. 登录服务器
ssh user@10.10.10.1
4. 把生成的公钥加到已授权公钥列表里,成功加入后删除上传的公钥:

cat id_rsa.pub >> ~/.ssh/authorized_keys
rm id_rsa.pub

5. 修改ssh服务器配置文件,启用公钥登录功能(默认状态下应该是开启的):
sudo nano /etc/ssh/sshd_config
5.1 ssh服务器配置文件里的下面几项需要修改为yes:

RSAAuthentication yes
PubkeyAuthentication yes

6. 修改后,重启ssh服务器以加载新配置:
sudo service ssh reload
7. 从服务器断开:
exit
8. 试下不要密码重新登录服务器:
ssh user@10.10.10.1
可能需要输入密钥的密码,但无需再输入服务器密码了
9. 禁用密码登录:
sudo nano /etc/ssh/sshd_config
9.1 下面几项要设为no:

ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM no

9.2. 重新加载配置:
sudo service ssh reload
10. 测试是否成功禁用密码:
10.1 从服务器断开:
exit
10.2 禁用客户端公钥登录,看能否登录服务器:
ssh user@10.10.10.1 -o PubkeyAuthentication=no
你会看到这样的提示:

“Permission denied (publickey).”

大功告成

添加新评论

个人信息
评论内容
提交该页面即表示您接受Mollon的隐私政策