SSH免密码远程登录Linux

 

其实这个问题的网上、园子里已经有很多的博客介绍了,但多数都忽略了一个问题,就是生成公钥时是不要输入密码的,整理一下:

1. 有A,B两台机(Linux/unix), 要想从A用ssh远程登录到B上(假设各自的IP,A:192.168.100;B:192.168.1.104)。 

2. 在A机上,用“ssh-keygen -t rsa”命令生成公钥,注意这里一直回车就是了。好了,这时在“~/.ssh/”下就已经生成“id_rsa、id_rsa.pub”两个文件了。

3. 还在A机上,将刚才生成的id_rsa.pub文件复制到B机上,可以使用命令“scp ~/.ssh/id_rsa.pub root@192.168.1.104:/root/”,这时就把id_rsa.pub文件复制到B机的/root下了。

4. 用root用户登录到B机上,这时就可以看到刚刚复制过来的id_rsa.pub文件了,使用命令“cat id_rsa.pub >> ~/.ssh/authorized_keys” 将A机的公钥加入到authorized_keys文件,(有时~/下没有.ssh文件夹或没有authorized_keys文件,如果这样,自己手动创建就好了)。

5. 还在B机上,重启sshd服务,命令“service ssh restart”。

6. 回A机上,试试, 命令“ssh root@192.168.1.104”, 不出意外就无需密码登录进去了!

 

要注意的事项:

1. ssh-keygen -t rsa  生成公钥时一直回车不要输入密码,就是空密码。

2. 要用哪个用户远程登录就把id_rsa.pub复制到用户对应路径下,如:root用户就复制到/root/下; andychen用户就复制到/home/andychen/下,不要混了。

3. B机上的文件权限: .ssh文件夹(700);authorized_keys(600)。

 

Debian的不同:

使用这个命令   ssh-keygen -t rsa -m PEM

来源:https://connaissances.fournier38.fr/entry/Connexion%20SSH%20impossible%20avec%20une%20paire%20de%20cl%C3%A9s

 

posted @ 2015-12-22 23:21  andy_1987_chen  阅读(5729)  评论(0编辑  收藏  举报