如何使用有密码的pem文件登录SFTP服务器?

sag*_*gar 4 command-line ftp sftp

我在下面给出了要登录的 SFTP 服务器的详细信息。

IP地址、用户名、密码、端口(8800)、受密码保护的ppk文件。

我尝试使用以下命令登录服务器,但无法连接。(我希望在执行命令后为密钥提供密码。而且我还有用户名和密钥的密码)。

sftp -i key.pem username@ipaddress -P8800
Run Code Online (Sandbox Code Playgroud)

错误信息

ssh: connect to host xx.xx.xx.xxx port 22: Connection timed out
Couldn't read packet: Connection reset by peer
Run Code Online (Sandbox Code Playgroud)

但我可以使用以下命令远程登录到服务器。

telnet ipaddress 8800
Run Code Online (Sandbox Code Playgroud)

telnet 工作但 sftp 命令不工作是怎么回事?如何在 sftp 命令中传递端口号?

clo*_*net 5

您可以从粘贴的错误中清楚地看到,SFTP 继续尝试在端口 22 上连接。您的“-P”参数将被忽略。

参数的顺序相当重要,或者至少“用户名@IP地址”应该位于命令的末尾。

sftp  -P 8800 -i key.pem username@ipaddress
Run Code Online (Sandbox Code Playgroud)