设置 SSH 的用户代理

设置 SSH 的用户代理

如何为 ssh 程序设置用户代理?我的网络上没有用户代理的网络请求会被阻止,我想知道 ssh 是否因此抛出了“对等方重置连接”错误。我知道这与端口无关,因为我尝试了许多不同的常用和不常用端口,但都无济于事。

ssh 程序默认发送一个吗?

答案1

用户代理是 HTTP 标头,而 SSH 不使用 HTTP 协议。因此,SSH 无法指定用户代理。

更有可能的是目标端口 22 被阻止。为了避免这种情况,您可以在 中指定服务器上的其他侦听端口/etc/ssh/sshd_config

例子:

# What ports, IPs and protocols we listen for
Port 22
Port 8080

在您的客户端机器中,您必须在连接时手动指定端口或在配置文件中指定端口。

手动方法示例:

ssh -p 8080 example.com

系统范围/etc/ssh/ssh_config或每个用户的示例条目~/.ssh/config

Host example.com
Port 8080

如果您的连接由于数据包检查而被阻止,您可能需要使用 HTTPS 代理。如果已安装 Apache2,则可以将其用作代理。

如果你的服务器上安装了 HTTPS 代理,则可以使用此命令

ssh -o "ProxyCommand nc -X connect -x example.com:8080 %h %p" example.com

或添加

Host example.com
Port ProxyCommand nc -X connect -x example.com:8080 %h %p

在 SSH 配置文件中。

您还可以使用基于 Web 的解决方案,例如shellinabox

相关内容