在 Linux 服务器上禁用密码登录,只允许 SSH 秘钥登录,显然可以避免大量的攻击风险。如果有多台服务器,同时有多个秘钥,应该如何管理和使用呢?
SSH 配置文件一般存储在 ~/.ssh/config
这个路径中,
当你使用 ssh 命令连接服务器时,默认会从这个路径读取 config 信息和秘钥。
在客户端的 ~/.ssh
目录下创建或编辑 config
文件:
如果该目录下没有 config 文件,可以手动创建:
vim ~/.ssh/config
然后,添加每个服务器的配置,例如:
Host server1
HostName server1.example.com
User your_username
Port 1234
IdentityFile ~/.ssh/id_rsa_server1
Host server2
HostName server2.example.com
User your_username
IdentityFile ~/.ssh/id_rsa_server2
请注意,IdentityFile
指定了用于连接到每个主机的私钥文件的路径。
确保私钥文件的权限正确:
私钥文件应该具有安全权限。通常,你可以使用以下命令:
chmod 600 ~/.ssh/id_rsa_server1
chmod 600 ~/.ssh/id_rsa_server2
测试连接:
使用 ssh
命令测试连接是否正常。例如:
ssh server1
如果一切设置正确,连接应该使用指定的私钥文件进行身份验证。
由于设置了 Host,所以连接时也不需要 IP 或者域名了,非常方便。