我已经编辑了我的~/. ssh /config文件,从其中删除了一些过时的Host定义,但是当我将ssh放到远程服务器(使用-v选项进行详细输出)时,我仍然可以看到旧的Host定义正在尝试。
我是否需要运行特定的命令才能使have SSH重新加载配置文件,以使更改生效?
这是一个使用默认ssh的Ubuntu桌面,没有花哨的配置,尽管这台机器已经在几个较旧版本的Ubuntu之间升级到16.04。上一次升级是很久以前的事了,这不是升级问题,只是现在我尝试为~/..ssh/config添加一个新键并清理它。
发布于 2018-02-12 12:42:06
我建议您也清理/etc/ssh/ssh_config,因为它可能包含一些当ssh-ing在某个地方看到的Hosts。
当使用ssh客户端时,命令行选项优先于配置文件。接下来将使用特定于用户的配置文件~/.ssh/config。最后,使用全局/etc/ssh/ssh_config文件。将使用每个配置参数的第一个获得的值。
发布于 2021-04-23 15:10:59
如果您的~/.ssh目录中有太多的键,并且您试图连接到的ssh服务器将#MaxAuthTries设置为默认的6,您将得到以下错误:
Received disconnect from 10.20.30.40 port 22:2: Too many authentication failures
Disconnected from 10.20.30.40 port 22如果设置所有可能的数百/数千个OpenSSH服务器配置文件,以允许增加MaxAuthTries数量,那就太麻烦了。这也是一种安全风险。
我找到的解决方案是将所有ssh键存储在一个非默认位置。然后,您的~/.ssh/config条目如下所示,指向IdentityFile的正确位置
Host jenkins
User root
HostName 10.0.0.29
Port 22
IdentityFile /home/wayne/keys/jenkins发布于 2022-07-18 20:13:59
我有一个类似的问题,这是我尝试的第一个搜索结果之一。基于我后来从其他答案中获得的成功,我建议在您的配置中使用IdentitiesOnly yes:
Host jenkins
User root
HostName 10.0.0.29
Port 22
IdentitiesOnly yes
IdentityFile /home/wayne/keys/jenkins有关更多讨论,请参见Flimm在https://superuser.com/a/268777/58805上对此选项的回答
https://askubuntu.com/questions/1005444
复制相似问题