我有一些服务器dev.example.com
,在它的authorized_keys 文件中我有我的~/.ssh/id_rsa.pub
密钥。我也有一把~/.ssh/my_test.pub
钥匙。
我~/.ssh/config
指定它应该按照人们通常想要的方式dev.example.com
使用。id_rsa
但是,我正在尝试测试以确保my_test
只允许我想要的访问。所以我尝试传入-i
dentity 文件:
$ ssh -v -i /Users/wwerner/.ssh/my_test example
.
.
.
debug1: Offering RSA public key: /Users/wwerner/.ssh/id_rsa
然后它就登录了。糟糕。
好吧,也许这是我使用example
FQDN 的问题:
$ 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
详情请参阅