无法通过 22 以外的端口将本地文件复制到实时服务器

无法通过 22 以外的端口将本地文件复制到实时服务器

我正在尝试通过 scp 命令将文件从我的计算机复制到我的服务器。我已将默认 sshd 端口从 22 更改为 36871。现在,问题是当我通过端口 36871 发出 scp 命令时,我收到“连接被拒绝”错误,因为它尝试通过默认端口 22 进行连接。我发出以下命令:

sudo scp /Users/developer/Desktop/file.zip -P 36871 [email protected]:public_html

当我将端口改回 22 并发出以下命令时,没有遇到这个问题:

sudo scp /Users/developer/Desktop/file.zip -P 22 [email protected]:public_html

更新:似乎与我的服务器的防火墙设置无关。问题是,当我使用 22 以外的端口发出命令时,我的计算机的防火墙 (Little Snitch) 显示终端想要连接端口 22。换句话说,终端甚至不会尝试其他端口。我认为命令本身存在问题。我需要以其他方式输入端口吗?

任何想法,将不胜感激。

谢谢

答案1

好的,经过一些实验,我想我找到了答案。我只需要在 scp 之后输入远程端口。所以这是正确的命令:

sudo scp -P 36871 /Users/developer/Desktop/file.zip [email protected]:public_html

答案2

您可能在 /etc/ssh/ssh_config 中专门配置了一个端口。配置中的 Port=XXX 以某种方式覆盖了 -oPort=XX,所以我假设 -P 也是如此(至少在我使用的这台机器上)。这实际上非常烦人。如果不是这样,请在 ~/.ssh/config 文件中检查名为 config 或 .config 或类似名称的文件。

[编辑:修复文件名。]

相关内容