沙滩星空的博客沙滩星空的博客

ssh客户端使用别名连接报错: ssh: Could not resolve hostname

需求

在服务器使用 git pull 命令,每次都要输入密码。要配置个密钥登录,使得流程简单些。

问题

登录新创建的ssh账号,发现无权进 ~/.ssh 文件夹。便让系统管理员按我说的,新增或编辑 ~/.ssh/config(SSH用户配置文件),上传配置文件指定的SSH登录私钥到 ~/.ssh 目录。

完毕后,按正常情况,就可以直接用别名登录ssh了。哪成想报错了:

ssh: Could not resolve hostname myname: Name or service not known

输入-v参数调试详细输出如下

OpenSSH_8.0p1, OpenSSL 1.1.1k  FIPS 25 Mar 2021
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Reading configuration data /etc/ssh/ssh_config.d/05-redhat.conf
debug1: Reading configuration data /etc/crypto-policies/back-ends/openssh.config
debug1: configuration requests final Match pass
debug1: re-parsing configuration
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Reading configuration data /etc/ssh/ssh_config.d/05-redhat.conf
debug1: Reading configuration data /etc/crypto-policies/back-ends/openssh.config
ssh: Could not resolve hostname github: Name or service not known

ssh登录别名github找不到主机名。调试时根本就没读取到 ~/.ssh/config 文件。
误以为是不是配置文件的路径改了。

解决

搞了大半天,才发现是 ~/.ssh 目录的权限问题。

尝试输入 chmod 700 .ssh, SSH就可以正常使用主机别名登录了。

无权限访问的目录,却可以自己改权限再进去。都没想到居然可以这样。

具体设置参看: SSH密钥登录

总结

SSH客户端使用密钥和别名登录,自己配置过很多次。配置时,拥有最高级root权限,无论拥有什么权限问题,都轻松解决。这次算是又栽坑里了。

Linux系统,没找到文件,可能不是真没找到,而是没有权限。谨记!

未经允许不得转载:沙滩星空的博客 » ssh客户端使用别名连接报错: ssh: Could not resolve hostname

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址