带有冒号的SCP用户名[关闭]

问题描述 投票:0回答:2

为了通过 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?

bash ssh scp
2个回答
4
投票

这只是 Cisco 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

3
投票

这可能是一个复杂的方法,但我相信它适合您的情况。

您可以在

~/.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/

© www.soinside.com 2019 - 2024. All rights reserved.