如何阻止 ssh 提供其他密钥?

如何阻止 ssh 提供其他密钥?

我有一些服务器dev.example.com,在它的authorized_keys 文件中我有我的~/.ssh/id_rsa.pub密钥。我也有一把~/.ssh/my_test.pub钥匙。

~/.ssh/config指定它应该按照人们通常想要的方式dev.example.com使用。id_rsa

但是,我正在尝试测试以确保my_test只允许我想要的访问。所以我尝试传入-identity 文件:

$ ssh -v -i /Users/wwerner/.ssh/my_test example
.
.
.
debug1: Offering RSA public key: /Users/wwerner/.ssh/id_rsa

然后它就登录了。糟糕。

好吧,也许这是我使用exampleFQDN 的问题:

$ ssh -v -i /Users/wwerner/.ssh/my_test dev.example.com
debug1: Offering RSA public key: /Users/wwerner/.ssh/id_rsa

然后它就登录了。也许我需要我的用户名?

$ ssh -v -i /Users/wwerner/.ssh/my_test [email protected]
debug1: Offering RSA public key: /Users/wwerner/.ssh/id_rsa

好吧……现在我把网撒得更远了。也许配置文件是导致它的原因:

$ ssh -v -F /dev/null -i /Users/wwerner/.ssh/my_test [email protected]
debug1: Reading configuration data /dev/null
debug1: Offering RSA public key: /Users/wwerner/.ssh/id_rsa

啊!那么也许我也使用 -o 呢?

$ ssh -v -F /dev/null -o IdentityFile=/dev/null -i /Users/wwerner/.ssh/my_test [email protected]
debug1: Offering RSA public key: /Users/wwerner/.ssh/id_rsa

我究竟做错了什么?我必须指定什么设置才能使 ssh不是提供我的id_rsa

答案1

您可以将该指令IdentitiesOnly与该指令结合使用IdentityFile

在命令行上您可以使用:

ssh -v -o "IdentitiesOnly=yes" -i /Users/wwerner/.ssh/my_test dev.example.com

.ssh/config作为替代方案,您可以在文件中的主机部分设置指令。

man ssh_config详情请参阅

相关内容