强制SSH客户端使用给定的私钥(身份文件)

时间:2020-01-09 10:38:26  来源:igfitidea点击:

我重新安装了Linux,并创建了一组新的专用RSA私钥进行身份验证。
但是,我的两个远程UNIX服务器仍然使用旧的DSA密钥。
我不记得那些服务器的root密码。
我确实有私有和公共DSA密钥的备份,并且当前存储在/backup/home/user/.ssh/id_dsa和/backup/home/user/.ssh/id_dsa.pub中。
如何强制ssh客户端使用标识文件/backup/home/user/.ssh/id_dsa返回远程UNIX服务器?

ssh客户端允许您选择一个文件,从该文件中读取用于RSA或DSA身份验证的身份(私钥)。
协议版本1的默认值为~/.ssh/identity,协议版本2的默认值为~/.ssh/id_rsa和~/.ssh/id_dsa。
标识文件也可以在配置文件中按主机指定。
可能有多个-i选项(以及在配置文件中指定的多个标识)。
语法如下:

ssh -i /path/to/id_rsa [email protected]
ssh -i /path/to/id_dsa [email protected]

要使用/backup/home/user/.ssh/id_dsa,请执行:

ssh -i /backup/home/user/.ssh/id_dsa [email protected]

~/.ssh/config SSH客户端配置

您可以在~/.ssh/config中设置身份文件,如下所示:

vi ~/.ssh/config

添加主机名及其标识文件,如下所示:

Host server1.theitroad.com
  IdentityFile ~/backups/.ssh/id_dsa
Host server2.theitroad.com
  IdentityFile /backup/home/userName/.ssh/id_rsa

您可以为每个主机添加其他设置,例如端口号,X11转发,真实主机名等等。
保存并关闭文件。
您可以按以下方式进行连接:

ssh [email protected]
ssh [email protected]