配置免密登录(SSH)

!!本文所有操作都在~/.ssh目录下进行!!

首先你需要有.ssh文件夹,如果没有的话就自己生成一下,并且修改权限。

mkdir -p ~/.ssh
chmod 700 ~/.ssh#权限错误会导致认证失败

首先需要生成公钥和私钥,这个是你在本地做的。

ssh-keygen    #默认RSA,但是安全原因导致可能不能用RSA,配置config的时候加上两行就行

要保证你本地和这台服务器没有连接过,因为如果连接过,knownhosts里会有对应的公钥先进行直接比对,服务器上的公钥换成新的之后knowhosts里的还是老公钥导致连接失败。

如果你连接的比较少的话可以把knownhosts文件删了,然后重新连接,这样的坏处是其他连接过的服务器在下次连接时需要重新验证。

 

作为本机,你需要把生成的.pub文件中的内容复制到服务器的~/.ssh/authorized_keys文件中(没有就自己创建)

 

然后配置本机的config文件。

大概如下:
最上面两行是加上rsa,不然不能用rsa。(从 OpenSSH 7.0 开始,ssh-rsa 算法因安全性问题(如 SHA-1 哈希易受攻击)被移出默认支持列表)

HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa

Host 1.111.1.111 #你的服务器IP
HostName www.test.com
User user
Port 22
IdentityFile ~/.ssh/id_rsa_test    #生成的密钥的位置,包括密钥名称

关键注意事项​

    1. ​文件权限​​:
~/.ssh/config
       权限需为 
600
chmod 600 ~/.ssh/config
      目录 
~/.ssh/
       权限需为 
700
  1. ​配置优先级​​:
    • 同一主机匹配多个 Host 时,​​首个匹配的配置生效​​,建议将具体配置放在通用配置前(或者删掉只留一个)
  2. ​连接测试​​:
    • 使用 ssh -Tv my-server 查看详细连接过程,验证配置是否生效
posted @ 2025-06-01 12:17  silverAugustine  阅读(70)  评论(0)    收藏  举报