SCP用户名带冒号

时间:2017-10-18 12:06:35

标签: bash ssh scp

为了通过SSH登录专用服务器,我使用以下命令:

ssh -p 49276 myusername:1001@server.address.net.com

我需要用户名:1001才能登录。

我现在正尝试使用以下命令从该服务器scp一些文件:

scp -P 49276 myusername:1001@server.address.net.com:/var/www /localfolder

但是当我这样做时,我收到一个错误:

Could not resolve hostname myusername: nodename nor servname provided, or not known

我认为这是因为我的用户名之后冒号。 SCP如何使用这些凭据?

2 个答案:

答案 0 :(得分:4)

  

这只是Cisso ssh服务器实现的一个特性;它   解析用户名,如果它包含:[0-9] +组件,那么它   了解它必须将会话连接到控制台端口   相应的号码。

从这里https://unix.stackexchange.com/questions/187658/integer-after-username-in-openssh-client-separated-by-colon

试试这个:

scp -P 49276 -o User=myusername:1001 server.address.net.com:/var/www /localfolder

答案 1 :(得分:2)

这可能是一种令人费解的方法,但我相信它适用于您的情况。

您可以在~/.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/