我有多个由同一提供商托管的网站。这意味着通过 SSH 进行的访问对于所有人而言都是同一“主机”。
我已将以下版本添加到每个站点的 SSH 配置文件中:
Host shell.grid.co.uk
User testuser
IdentityFile ~/.ssh/id_rsa_testuser
我现在的配置中有 6 个站点,但无法通过终端连接到 SSH。
我收到以下错误:
收到与 [IP 地址] 端口 22:2 的断开连接:[用户] 的身份验证失败次数过多
我一直在做一些研究,想知道这是否与此有关MaxAuthTries
?
如果我从配置文件中删除 1 个或多个项目,我就可以通过终端上的 SSH 登录。
所有这些网站都在共享托管平台上,如果有任何区别的话。
答案1
您走在正确的轨道上,但我认为您可能会受益于使用别名为您的 中的每个用户打破配置~/.ssh/config
:
Host site1
HostName shell.grid.co.uk
User site1user
IdentityFile ~/.ssh/id_rsa_site1user
Host site2
HostName shell.grid.co.uk
User site2user
IdentityFile ~/.ssh/id_rsa_site2user
Host sitetest
HostName shell.grid.co.uk
User testuser
IdentityFile ~/.ssh/id_rsa_testuser
这样,您的 SSH 客户端应该只为每个用户使用一个特定的密钥。您只需ssh site1
添加正确的用户名和私钥即可。