我以前在我的本地(Mac OS x 10.6)/etc/hosts 文件中添加了我服务器的公共 ip,如下所示:
123.123.123.123 myServer
Run Code Online (Sandbox Code Playgroud)
允许我 ssh 到 myServer 而不必记住服务器的 IP 地址并且工作正常(使用 shh 公钥),如下所示:
ssh myServer1
Run Code Online (Sandbox Code Playgroud)
但是,在 Amazon EC2 实例上,我尝试使用提供的长公共 dns 地址执行相同操作,并在 /etc/hosts 中添加了以下内容:
ec2-23-23-23-23.compute-1.amazonaws.com myServer2
Run Code Online (Sandbox Code Playgroud)
但是当我尝试 ssh myServer2 时说“无法解析主机名”
任何想法为什么这不起作用?我怎样才能使这项工作?
我要使用的完整命令是:
ssh -i key.pem user@ec2-23-23-23-23.compute-1.amazonaws.com
Run Code Online (Sandbox Code Playgroud)
我正在尝试创建一个快捷方式,可能是这样的:
ssh -l username myServer2 or ssh -i key.pem -l username myServer2
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
更新:我改用别名,这更容易:
在 .bash_profile (MAC OS x) 中添加了这个
alias myServer='ssh -i /path/to/key.pem user@ec2-23-23-23-23.compute-1.amazonaws.com'
Run Code Online (Sandbox Code Playgroud)
(需要再次关闭并打开终端或使用 source ~/.bash_profile )然后在命令行 $ myServer 上使用 myServer ssh