SSH 可以工作,但 SFTP 不行

SSH 可以工作,但 SFTP 不行

我有一个包含 SSH 私钥的文件。当我尝试使用命令访问服务器时

ssh -vvv -i key *@*.*.*.* -p2222

,它验证了密钥 -

debug1: Trying private key: key
debug3: sign_and_send_pubkey: ED25519 SHA256:9Lxb74WbUExNBifvtYtUuqI4gebuim0hg024jSqlvDo
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 52
debug1: Authentication succeeded (publickey).

之后连接失败,提示“此服务仅允许 sftp 连接。”。

但当我尝试使用相同的密钥通过 sftp 连接时

sftp -vvv -i key *@*.*.*.* -p2222

,密钥不再被验证。

debug1: Trying private key: key
debug3: sign_and_send_pubkey: ED25519 SHA256:9Lxb74WbUExNBifvtYtUuqI4gebuim0hg024jSqlvDo
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 51

你能帮我找出问题所在吗?

答案1

sftp -vvv -i key *@*.*.*.* -p2222

问题在于你的-p2222选择。有两个问题:

  1. OpenSSHsftp命令的用途-p与 不同ssh。要为 sftp 指定远程 SSH 端口,请使用-P(大写 P)选项。

  2. OpenSSHsftp命令不接受命令行中该位置的 -P(或 -p)。您需要将该选项移至 user@host 参数之前。

简而言之,尝试一下这个:

sftp -vvv -i key -P2222 *@*.*.*.*

相关内容