ssh免密登录

ssh免密码登录

机器A想要通过ssh登录到机器B。可以用ssh-keygen生成公钥/私钥对来实现。以下操作流程不需要root权限,普通权限即可。

  1. 利用ssh-keygen生成公钥/私钥对,如果本机上已经存在,不需要重复生成。
1
ssh-keygen -r rsa -P ''

-P表示密码,-P ‘’ 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。
它在/home/yonghuming下生成.ssh目录,.ssh下有id_rsa和id_rsa.pub。

  1. 将id_rsa.pub传送到服务器上,并且使用cat命令追加到.ssh/authorzied_keys中,并赋予600权限。
1
2
3
4
5
# on local
scp -P 22 /home/muzhen/.ssh/id_rsa.pub muzhen@ip:/home/muzhen/.
# on remote
cat /home/muzhen/id_rsa.pub >> /home/muzhen/.ssh/authorzied_keys
chmod 600 /home/muzhen/.ssh/authorzied_keys

其中 -P 为端口号,如果是默认的22端口不需要特别指定。-P 必须紧跟在scp后面,不然不会被认为是端口参数。

  1. ssh登录服务器,不再需要密码。如果是连接root用户,则.ssh在/root下而非/home/yonghuming下。

references

ssh 免密码登录