SSH免密登录
文章目录
本文主要介绍SSH免密登录服务器的配置步骤。
生成密钥对
|
|
默认私钥文件名 id_rsa
, 可以指定其他名字,不过后续ssh的时候需要加上 -i
选项。
passphrase
留空即可,否则ssh的时候还需要输入passphrase。
这一步会生成私钥和公钥文件,公钥文件名一般是私钥文件名基础上再加 .pub
。
添加公钥到服务器
|
|
这一步主要是把上一步生成的公钥加入到服务器的 authorized_keys
文件中。
登录服务器
|
|
正常的话,我们现在就可以通过上面的命令免密ssh到服务器了。
不过每次都输入这么长是不是有点麻烦? 没关系,我们可以配置服务器别名。
在 ~/.ssh/config
(没有就新建,注意权限是600) 中加上下面的配置:
|
|
然后我们就可以直接ssh服务器别名登录了。 🎉 🎉 🎉
|
|
当然使用一些ssh工具也是可以的,比如说 xshell
, PuTTY
,网上有教程这里就不赘述了 。
问题排查
-
服务器sshd配置
1 2
PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
检查一下
/etc/ssh/sshd_config
中上述两项配置是否正常。
PubkeyAuthentication
默认是开启的,所以只要不是no
即可。
AuthorizedKeysFile
检查一下路径是否正确,对应文件中是否有你的公钥。
如果有问题,修正之后重启sshd服务后生效。 -
防火墙
一般来说登录不了,防火墙的嫌疑比较大,包括服务器本身的防火墙以及国内的GFW。1
traceroute -T -p 端口 IP地址
可以通过
traceroute
测试连通性,又或者在服务器抓包确认。