端口映射/内网穿透方式及标题解决:warning: remote port forwarding failed ...

打印 上一主题 下一主题

主题 896|帖子 896|积分 2688

需求:A机器是内网机器,B机器是公网服务器,想要从公网,访问A机器的端口

方式:端口映射,内网穿透,利用ssh打洞端口:



  • 1:配置config
    vim ~/.ssh/config
    输入
  1. Host remote_name_B # 自定义B机器名字
  2.    HostName 10.110.110.1  # B机器ip
  3.    Port 22  # B机器 ssh登录端口
  4.    User root # A登录B机器的用户
  5.    IdentityFile ~/.ssh/id_rsa # A登录B机器的秘钥,要在B机器上提前配置好
  6.    ServerAliveInterval 10
  7.    ServerAliveCountMax 3
复制代码
尝试登录:
  1. ssh remote_name_B # 首次登录,会提示输入 yes
复制代码
必须登录乐成!


  • 2:实行命令
  1. ssh -f -N -g -R B机器映射端口:本机ip或者127.0.0.1:本机要映射出去的端口 remote_name_B
  2. 例如:将A机器的22端口,映射到B机器的1822端口上
  3. ssh -f -N -g -R 1822:127.0.0.1:22 remote_name_B
复制代码


  • 3:访问
    访问B的1822端口,就可以了
  1. ssh -p 1822 root@B_ip 即可
  2. # 登录服务器端口,记得把本机的公钥放到A机器上
  3. # 其他业务服务端口,浏览器直接访问即可
复制代码
遇到标题:命令实行乐成,但是端口转发失败

  1. # 终端输出:
  2. Authorized users only all activities may be monitored and reported  
  3. warning: remote port forwarding failed for listen port 1822
复制代码
分析:目标服务器ssh配置标题

  1. Authorized users only all activities may be monitored and reported  
复制代码
这个是乐成的,如果SSH隧道创建失败,会提示“Permission denied”、“Connection closed”等报错信息。
  1. warning: remote port forwarding failed for listen port 1822
复制代码
标题出在这里~~
解决:修改ssh配置

vim /etc/ssh/ssh_config
  1. # 修改这两个key的值
  2. AllowTcpForwarding yes # 允许远程端口转发
  3. GatewayPorts yes # 如果 GatewayPorts 设置为 no,B 机器只会绑定到 127.0.0.1,导致外部无法访问。
  4. # 重启ssh
  5. systemctl restart sshd
复制代码
即可

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

科技颠覆者

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表