如何为 ssh 程序设置用户代理?没有用户代理的网络请求在我的网络上被阻止,我想知道 ssh 是否因此引发“对等连接重置”错误。我知道这与端口无关,因为我尝试了许多不同的常见和不常见端口都无济于事。
ssh 程序是否默认发送一个?
用户代理是一个 HTTP 头,SSH 不使用 HTTP 协议。因此,SSH 不能指定用户代理。
目标端口 22 被阻塞的可能性更大。为了避免这种情况,您可以在服务器上指定额外的侦听端口/etc/ssh/sshd_config。
例子:
# What ports, IPs and protocols we listen for
Port 22
Port 8080
Run Code Online (Sandbox Code Playgroud)
在您的客户端机器上,您必须在连接时或在配置文件中手动指定端口。
手动方法示例:
ssh -p 8080 example.com
Run Code Online (Sandbox Code Playgroud)
系统范围/etc/ssh/ssh_config或每个用户中的示例条目~/.ssh/config:
Host example.com
Port 8080
Run Code Online (Sandbox Code Playgroud)
如果您的连接因数据包检查而被阻止,您可能需要使用 HTTPS 代理。如果 Apache2 已经安装,它可以用作代理。
如果您在服务器上安装了 HTTPS 代理,则可以使用此命令
ssh -o "ProxyCommand nc -X connect -x example.com:8080 %h %p" example.com
Run Code Online (Sandbox Code Playgroud)
或添加
Host example.com
Port ProxyCommand nc -X connect -x example.com:8080 %h %p
Run Code Online (Sandbox Code Playgroud)
在 SSH 配置文件中。
您还可以使用基于 Web 的解决方案,例如shellinabox。
| 归档时间: |
|
| 查看次数: |
1373 次 |
| 最近记录: |