无法使用自定义端口连接 OpenSSH sftp

无法使用自定义端口连接 OpenSSH sftp

我在 Windows 7 上使用 Cygwin。我已经安装了 OpenSSH 客户端,我正在使用它通过 localhost 连接到安装在 virtualbox 上的 Ubuntu 服务器。我使用以下命令通过 ssh 进行连接:

ssh -p 3022 [email protected]

但是当我尝试使用相同的命令通过 sftp 连接时,我收到此消息:

ssh:无法解析主机名 3022:名称或服务未知
连接已关闭

我正在使用的命令是这个

sftp -p 3022 [email protected]

知道为什么我可以通过 ssh 连接但不能通过 sftp 连接吗?

答案1

因为使用sftp-p开关具有不同的含义。它表示“始终保留时间”。它是一个无参数开关,因此以下内容3022被解释为独立参数(=主机名)。

要设置自定义端口,请使用-P开关(大写 P),OpenSSH 5.4p1 及更新版本支持:

sftp -P 3022 [email protected]

使用旧版本的 OpenSSH:

sftp -o Port=3022 [email protected]

请注意,在某些旧版本的 OpenSSH 中,-P还有另一层含义。

相关内容