我必须通过 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
这也适用于ssh
、scp
和sshfs
。使用配置文件而不是-o
选项的优点是还可以使用调用ssh
但不允许您轻松传递命令行选项的工具(如果有的话)。
答案2
sftp -o Port=8777 '[email protected]'@domain.com
这也是可行的,尽管他们为用户提供这种类型的名称的形式确实很糟糕。
答案3
在某些 SFTP 服务器上可以接受将@
(“commercial at”)替换为(“加号)”:+
sftp -oPort=8777 [email protected]