所以我正在使用我正在使用SFTP的应用程序来解决一些问题。在此过程中,我使用openSSH命令行客户端使用配置文件(〜/ .ssh / config)连接到单独的SFTP服务器。在测试之间,我正在更改配置,有时我会尝试故意测试无效配置。
目前,我刚刚更改了配置文件以删除IdentityFile行。如果没有这个,它应该不知道用于尝试和建立连接的密钥文件,因此连接应该失败。但是,每当我ssh到该主机名时,连接都会成功,甚至没有密码提示。
这很糟糕。我的服务器需要使用密钥文件,我知道这是因为我的应用程序无法连接。然而,即使我当前的配置无效,它几乎就像SSH正在记住服务器的旧的有效配置。
我该怎么做才能解决这个问题?我不希望SSH挂在像这样的旧配置上。
感谢。
答案 0 :(得分:1)
如果您未指定IdentityFile
,则ssh
将使用默认位置(~/.ssh/id_{rsa,dsa,ecdsa}
)中的密钥,如ssh
的手册页所述:
<强> IdentityFile 强>
指定从中读取用户的DSA,ECDSA,Ed25519或RSA身份验证标识的文件。协议版本1的默认值为
~/.ssh/identity
,~/.ssh/id_dsa
, 协议版本2的~/.ssh/id_ecdsa
,~/.ssh/id_ed25519
和~/.ssh/id_rsa
。[...]