我买了一台新电脑,并尝试连接到我多年来一直使用的同一个 sftp,我使用了一个 ftp 客户端,然后我得到了一个新的,但我被拒绝连接。我尝试连接终端,也被拒绝了,虽然经过 3 次尝试后似乎已到达服务器,但立即断开连接:
Permission denied (publickey,password,keyboard-interactive).
连接已关闭
我使用 nmap 测试了我的计算机上的端口:
time nmap -p 22 portquiz.net
并得到端口22开放的结果:
PORT STATE SERVICE
22/tcp 开启 ssh
然后我扫描了更多端口,得到很多开放端口,但也有一行内容:
Not shown: 955 closed tcp ports (conn-refused)
不确定这是否意味着有许多关闭的端口,如果是,为什么?但无论如何,也有许多开放的端口,但没有一个被列为 sftp 端口,端口 21 被列为 ftp,但端口 22 也没有出现在我执行的第二个 nmap 命令的列表中:
time nmap portquiz.net
请告诉我一个可能的解决方案?谢谢,我正在使用装有 ventura 的 Mac,以防万一。
答案1
如果你收到Permission denied
来自 SSH 的错误消息,则意味着你成功交谈到那时为止,您连接到 SSH 服务器,您的客户端能够启动身份验证过程和一切。这意味着端口确实不是问题。
我在同一家庭网络上的旧计算机连接没有问题,所以我想知道为什么服务器会拒绝来自同一 IP 的请求?服务器管理员需要在他们那边纠正什么问题?
拒绝不是基于 IP 地址,而是基于您提供的用户登录信息(密码或 SSH 密钥对)。假设您提供了正确的密钥对(id_rsa 等),服务器管理员可以查看服务器的 sshd 日志以找出仍然被拒绝的原因。
(当然,你的客户可能只是不是发送正确的密钥对,或者正确的密码。请先检查ssh -v ...
。
我使用了一个 ftp 客户端并且得到了一个新的,但我被拒绝连接。
FTP/FTPS 不是 SFTP。它们是不同的协议,由不同的软件托管,并且将在不同的端口上运行(SFTP 使用 SSH 端口)。
一些客户端同时支持这两种方式(例如,Cyberduck 和 Transmit 除了 FTP/FTPS 之外还支持 SFTP),但即使在这些情况下,您也需要专门选择 SFTP(不要与 FTPS 混淆)。
不过,它们都没有被列为 sftp 端口
因为它被列为 SSH 端口,与您的第一个 nmap(带有 的那个-p 22
)完全一样。