ssh反向连接内网主机
2014-07-30 11:34
253 查看
首先在被控内网主机上运行:
ssh -f -N -R 10000:localhost:22 abc@3322.org -o ServerAliveInterval=60 [-p 51900]
10000端口:在主控端服务器使用的隧道端口,可任意指定
22端口:被控内网主机的ssh连接端口
-p 2222:连接主控端的ssh连接端口,默认为22的话可省略
abc@3322.org:连接主控端使用的用户名和域名或IP地址
-f 后台执行
-N 仅用作port forwarding,不带执行远程命令
-R Port forwarding,如上,在22端口和10000端口间建立一条通道 (port:host:hostport)
-o option 可以在这里给出某些选项, 格式和配置文件中的格式一样. 它用来设置那些没有命令行开关的选项
然后在主控端运行:
ssh def@localhost -p 51900
def:被控端服务器上已有用于ssh连接的用户名
启动一个启动脚本时刻监控该被控端的ssh进程
View Code
-----------------------------------------------------------------------------------------------------
解决ssh的"Write failed: Broken pipe"问题
问题现象:
用 ssh 命令连接服务器之后,如果一段时间不操作,再次进入 Terminal 时会有一段时间没有响应,然后就出现错误提示:
只能重新用 ssh 命令进行连接。
解决方法:
方法一:如果您有多台服务器,不想在每台服务器上设置,只需在客户端的 ~/.ssh/ 文件夹中添加 config 文件,并添加下面的配置:
方法二:如果您有多个人管理服务器,不想在每个客户端进行设置,只需在服务器的 /etc/ssh/sshd_config 中添加如下的配置:
方法三:如果您只想让当前的 ssh 保持连接,可以使用以下的命令:
---------------------------------------------------------------------------------------
ssh-copy-id使用非默认22端口时:ssh-copy-id "-p 5180 wjoyxt@abc.3322.org" (必须要有引号)
cat >> /etc/ssh/sshd_config << EOF
TCPKeepAlive yes 指定系统是否向客户端发送 TCP keepalive 消息。这种消息可以检测到死连接、连接不当关闭、客户端崩溃等异常,保证不会有僵尸程序的发生。
ClientAliveInterval 60 server端每60s就会向client端发送一个keep-alive包, 来保持连接
ClientAliveCountMax 10 指定发送keep-alive包(超时连接)的最大次数,超过该次数后会自动断开连接。
EOF
ssh -f -N -R 10000:localhost:22 abc@3322.org -o ServerAliveInterval=60 [-p 51900]
10000端口:在主控端服务器使用的隧道端口,可任意指定
22端口:被控内网主机的ssh连接端口
-p 2222:连接主控端的ssh连接端口,默认为22的话可省略
abc@3322.org:连接主控端使用的用户名和域名或IP地址
-f 后台执行
-N 仅用作port forwarding,不带执行远程命令
-R Port forwarding,如上,在22端口和10000端口间建立一条通道 (port:host:hostport)
-o option 可以在这里给出某些选项, 格式和配置文件中的格式一样. 它用来设置那些没有命令行开关的选项
然后在主控端运行:
ssh def@localhost -p 51900
def:被控端服务器上已有用于ssh连接的用户名
启动一个启动脚本时刻监控该被控端的ssh进程
#!/bin/bash while true;do RET=`ps ax | grep "ssh -f -N -R 9999:localhost:22" | grep -v "grep"` if [ "$RET" = "" ]; then echo $(date)------------restart ssh server ssh -f -N -R 9999:localhost:22 abc@abc.3322.org -p 10022 -o ServerAliveInterval=60 fi sleep 1000 done
View Code
-----------------------------------------------------------------------------------------------------
解决ssh的"Write failed: Broken pipe"问题
问题现象:
用 ssh 命令连接服务器之后,如果一段时间不操作,再次进入 Terminal 时会有一段时间没有响应,然后就出现错误提示:
Write failed: Broken pipe
只能重新用 ssh 命令进行连接。
解决方法:
方法一:如果您有多台服务器,不想在每台服务器上设置,只需在客户端的 ~/.ssh/ 文件夹中添加 config 文件,并添加下面的配置:
ServerAliveInterval 60
方法二:如果您有多个人管理服务器,不想在每个客户端进行设置,只需在服务器的 /etc/ssh/sshd_config 中添加如下的配置:
ClientAliveInterval 60
方法三:如果您只想让当前的 ssh 保持连接,可以使用以下的命令:
$ ssh -o ServerAliveInterval=60 user@sshserver
---------------------------------------------------------------------------------------
ssh-copy-id使用非默认22端口时:ssh-copy-id "-p 5180 wjoyxt@abc.3322.org" (必须要有引号)
cat >> /etc/ssh/sshd_config << EOF
TCPKeepAlive yes 指定系统是否向客户端发送 TCP keepalive 消息。这种消息可以检测到死连接、连接不当关闭、客户端崩溃等异常,保证不会有僵尸程序的发生。
ClientAliveInterval 60 server端每60s就会向client端发送一个keep-alive包, 来保持连接
ClientAliveCountMax 10 指定发送keep-alive包(超时连接)的最大次数,超过该次数后会自动断开连接。
EOF
相关文章推荐
- 通过ssh反向连接内网主机的方法
- 通过ssh反向连接内网主机的方法(防火墙的主机)
- 用ssh反向连接内网主机
- 用ssh反向连接内网主机
- 用ssh反向连接内网主机
- 公网ssh反向连接内网Linux
- 云主机不能外网ssh连接,只能内网ssh连接的问题处理
- ssh反向连接(公网跳转内网服务器)
- SSH反向通道暴露内网主机80端口——作为Nginx的upstream后端
- 使用ssh反向连接访问内网linux机器
- 云主机不能外网ssh连接,只能内网ssh连接的问题处理
- SSH反向连接及Autossh 实现外网访问内网树莓派
- 反向ssh,实现外网连接内网
- 利用灵雀云免费主机做反向ssh端口转发,实现内网服务器的外网访问_20160107_七侠镇莫小贝
- Ubuntu SSH反向隧道从外网连接内网
- 通过反向ssh连接+socks5+web-proxy来访问内网资源
- 利用灵雀云免费主机做反向ssh端口转发,实现内网服务器的外网访问_20160107_七侠镇莫小贝