我正在学习“启动工程”,在使用ssh别名时遇到此错误。下面是详细步骤(在Cygwin windows 8中执行):
$ mkdir -p ~/.ssh
$ cp ~/downloads/skey.pem ~/.ssh/
$ chmod 400 ~/.ssh/skey.pem
$ chmod 700 ~/.ssh
$ nano ~/.ssh/config
$ cat ~/.ssh/config
Host awshost1
HostName ec2-54-218-35-71.us-west-2.compute.amazonaws.com
User ubuntu
IdentityFile "~/.ssh/skey.pem"
然后我运行以下命令
ssh awshost1
但它提示
ssh:无法解析主机名 awshost1:未提供主机名或服务名,或者未知
详细输出:
$ ssh -vv awshost
OpenSSH_6.2p2, OpenSSL 1.0.1e 11 Feb 2013
debug1: Reading configuration data /etc/ssh_config
debug2: ssh_connect: needpriv 0
ssh: Could not resolve hostname awshost: hostname nor servname provided, or not known
有人能帮我吗?谢谢。
答案1
从输出中可以看到,你的 ssh-client 读取的是/etc/ssh_config
,而不是~/.ssh/config
。请尝试如下方式连接:ssh -F ~/.ssh/config awshost1
。
答案2
你可以跑ssh-host-config
并将你的 ssh 配置放入其中/etc/ssh_config
,这将使其完美运行