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

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

我必须通过 sftp 连接到服务器的特定端口,但用户名包含 @ 符号。

假设用户是“[电子邮件受保护]”,ftp 服务器就是“example.com”

我将以

sftp -oPort=8777 [email protected]@example.com

正如我测试过的,显然什么是行不通的。

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

我该如何解决这个问题?

答案1

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

sftp -o Port=8777 -o [email protected] example.com

这也适用于sshscpsshfs。使用配置文件而不是-o选项的优点是还可以使用调用ssh但不允许您轻松传递命令行选项的工具(如果有的话)。

答案2

sftp -o Port=8777 '[email protected]'@domain.com

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

答案3

在某些 SFTP 服务器上可以接受将@(“commercial at”)替换为(“加号)”:+

sftp -oPort=8777 [email protected]

相关内容