带有主机通配符的 SSH 用户客户端配置

带有主机通配符的 SSH 用户客户端配置

我的 ~/.ssh/config 文件中有这个:

Host jupiter
  HostName jupiter.engin.x.edu
  User rob

Host *.engin.x.edu
  User bladex

本地用户是“rob”,我想对 engin.x.edu 子域中的每个主机使用用户名“bladex”。但这不起作用,输入“ssh host.engin.x.edu”会得到“[电子邮件保护]的密码:”

我做错了什么?我的 resolv.conf 包含“search engin.x.edu”。

答案1

大多数情况下ssh,忽略文件是因为文件权限错误。

例如man ssh_config说:

〜/.ssh /配置

这是每个用户的配置文件。该文件的格式如上所述。该文件由 SSH 客户端使用。由于可能被滥用,该文件必须具有严格的权限:用户可读/写,其他人不能访问。如果相关组仅包含用户,则该文件可能是组可写的。

您还必须检查该文件所有父目录的权限。例如,如果您的主目录是,则应检查、、和/home/rob的权限。/home/home/rob/home/rob/.ssh/home/rob/.ssh/config

假设你的家已经有安全权限,那么通常有帮助的命令是:

chmod -R go= ~/.ssh

请记住,ssh -vvv host.engin.x.edu调试这些问题很有用。

相关内容