如果用户名包含@ 符号,我如何 sftp 到服务器

Duc*_*uck 28 users ssh sftp

我必须将服务器 sftp 发送到特定端口,但用户名包含 @ 符号。

假设用户是“user@example.com”,而 ftp 服务器只是“example.com”

我会以

sftp -oPort:8777 user@example.com@example.com
Run Code Online (Sandbox Code Playgroud)

正如我已经测试过的那样,什么显然不起作用。

什么样的业余爱好者会用@ 创建用户名?好的,我的老板做到了。

我该如何解决?

Gil*_*il' 40

通过-o User选项或通过User客户端配置文件 ( ~/.ssh/config) 中的等效指令传递用户名。

sftp -o Port:8777 -o User=user@example.com example.com
Run Code Online (Sandbox Code Playgroud)

这适用于sshscp也适用sshfs。使用配置文件而不是-o选项的优点是还可以使用调用ssh并且根本不允许您轻松传递命令行选项的工具。


小智 7

sftp -o Port:8777 'user@domain.com'@domain.com
Run Code Online (Sandbox Code Playgroud)

这也可以工作,尽管他们为用户提供这种类型的名称的形式确实很糟糕。