SSH 免密码登录(Linux 环境下操作)

2/13/2017来源:经验技巧人气:2038

A机:自己的电脑 B机:需要远程登录的客户端或服务器

​ 这里即A机想通过ssh免密码登录到B机。

​ ssh 无密码登录需要使用到公钥和私钥。一般是在A机上生成公钥/私钥对,然后将公钥添加到B机中。

1.首先需要在A机下生成公钥/私钥对

ssh-keygen -t rsa -f id_rsa -P ''

参数:-f 生成的文件名 -P 表示密码,-P ” 表示空密码,会在 .ssh 目录下生成 id_rsa 和 id_rsa.pub。

:因为在我的 .ssh 目录下还有其他公钥/私钥对,例如用来连接github的公钥/私钥对,如果你也有其他公钥/私钥对,为了混淆,建议进行了重新命名。如果重命名了不会生成在 .ssh 目录中,就需要手动把 id_rsaxxx 私钥文件移动到当前用户的 .ssh 目录下

2.将产生的公钥复制到 B 机的用户目录下

scp id_rsa.pub 登录用户名@ip地址(或域名):/home/用户名/id_rsa.pub

3.先通过 A 机使用密码登录 B 机,将公钥追加到 authorzied_keys 中

远程登录命令:

ssh -l 用户名 IP地址(或域名)

追加公钥到 authorzied_keys中 :

cat id_rsa.pub >> .ssh/authorized_keys

:authorzied_keys 的权限要是 600 。

:如果是服务器,最好把密码登录关闭。

4.测试

如果是默认的文件名,则可以去掉-i 参数

ssh -i “私钥文件” [email protected]