为了通过 SSH 登录专用服务器,我使用以下命令:
ssh -p 49276 myusername:[email protected]
用户名后面的
:1001
是我登录时需要的。
我现在尝试使用以下命令从该服务器 scp 一些文件:
scp -P 49276 myusername:[email protected]:/var/www /localfolder
但是当我这样做时,我收到错误:
Could not resolve hostname myusername: nodename nor servname provided, or not known
我认为这是因为我的用户名后面的冒号。我如何使用这些凭证进行 SCP?
这只是 Cisco SSH 服务器实现的一个功能;它 解析用户名,如果它包含 :[0-9]+ 组件,那么它 了解它必须将会话连接到具有相应编号的控制台端口。
试试这个:
scp -P 49276 -o User=myusername:1001 server.address.net.com:/var/www /localfolder
这可能是一个复杂的方法,但我相信它适合您的情况。
您可以在
~/.ssh/config
文件中定义主机。您可以在此处指定用于特定主机名的用户名。例如 -
Host myhostname
User myusername:1001
HostName myhostname.com
Port 49276
将其添加到您的
~/.ssh/config
文件中,您将能够使用与此类似的 scp
命令 -
scp myhostname:/var/www /localfolder
主机将与配置文件中指定的用户和端口一起使用。
一个相当旧的链接,但仍然是有关 ssh 配置文件的有用信息:
http://nerderati.com/2011/03/17/simplify-your-life-with-an-ssh-config-file/