Ubuntu SSH反向隧道从外网连接内网
2017-06-18 09:57
295 查看
两台机器A和B首先安装openssh,命令:
sudo apt-get install openssh-server
分别在A和B上生成RSA公钥私钥对,命令:
ssh-keygen -t rsa -P ”,
分别把A和B的公钥追加到A和B的authorized_keys中,即A和B的authorized_keys中都应该有A和B的公钥, 命令:
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
接着在A和B中编辑sshd_config以使用authorized_keys, 命令:
sudo gedit /etc/ssh/sshd_config,
将#Authorized一行取消注释并保存
最后修改authorized_keys的权限并重启sshd服务,命令:
chmod 600 ~/.ssh/authorized_keys
sudo service sshd restart
建立反向隧道,假设A为内网机器,在A上运行命令:
ssh -NR 19527:localhost:22 user@ip
该命令建立A到B的反向隧道 19527可以是任意一个未使用的端口号
由于ssh的反向隧道超时后自动断开,一般使用autossh代替,首先安装autossh,
sudo apt-get install autossh
用下列命令代替上面的ssh命令:
autossh -M 5678 -NR 19527:localhost:22 user@ip
5678也是一个未使用的端口号
更新:使用-M 5678需要保证5678和5679两个端口空闲,很不方便,可以使用下面的命令代替,-M 0代表关闭默认的M功能使用后面的两个参数监控ssh
autossh -M 0 -o “ServerAliveInterval 30” -o “ServerAliveCountMax 3” -NR 19527:localhost:22 user@ip
在B机器使用ssh localhost -p 19527就可以连接到A了, 19527需要保持和上面的端口号19527一致
利用scp可以传递文件,从A下载文件到B:
scp -P 19527 localhost:path/to/file ~/
该命令把A上的file下载到B的~/下
从B上传到A:
scp -P 19528 ~/file localhost:path/to/file
该命令把B上的~/file上传到A上的path
以上命令均在B上执行,因为A是我们要连接的内网的服务器
sudo apt-get install openssh-server
分别在A和B上生成RSA公钥私钥对,命令:
ssh-keygen -t rsa -P ”,
分别把A和B的公钥追加到A和B的authorized_keys中,即A和B的authorized_keys中都应该有A和B的公钥, 命令:
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
接着在A和B中编辑sshd_config以使用authorized_keys, 命令:
sudo gedit /etc/ssh/sshd_config,
将#Authorized一行取消注释并保存
最后修改authorized_keys的权限并重启sshd服务,命令:
chmod 600 ~/.ssh/authorized_keys
sudo service sshd restart
建立反向隧道,假设A为内网机器,在A上运行命令:
ssh -NR 19527:localhost:22 user@ip
该命令建立A到B的反向隧道 19527可以是任意一个未使用的端口号
由于ssh的反向隧道超时后自动断开,一般使用autossh代替,首先安装autossh,
sudo apt-get install autossh
用下列命令代替上面的ssh命令:
autossh -M 5678 -NR 19527:localhost:22 user@ip
5678也是一个未使用的端口号
更新:使用-M 5678需要保证5678和5679两个端口空闲,很不方便,可以使用下面的命令代替,-M 0代表关闭默认的M功能使用后面的两个参数监控ssh
autossh -M 0 -o “ServerAliveInterval 30” -o “ServerAliveCountMax 3” -NR 19527:localhost:22 user@ip
在B机器使用ssh localhost -p 19527就可以连接到A了, 19527需要保持和上面的端口号19527一致
利用scp可以传递文件,从A下载文件到B:
scp -P 19527 localhost:path/to/file ~/
该命令把A上的file下载到B的~/下
从B上传到A:
scp -P 19528 ~/file localhost:path/to/file
该命令把B上的~/file上传到A上的path
以上命令均在B上执行,因为A是我们要连接的内网的服务器
相关文章推荐
- 反向ssh,实现外网连接内网
- SSH安装篇之——SecureCRT连接(内网和外网)虚拟机中的Linux系统(Ubuntu)
- ssh反向隧道实验——没有端口映射的前提下,让外网访问内网服务器
- SSH反向连接及Autossh 实现外网访问内网树莓派
- 用ssh反向隧道访问内网机器
- SecureCRT连接(内网和外网)虚拟机中的Linux系统(Ubuntu)
- ssh反向连接内网主机
- 利用灵雀云免费主机做反向ssh端口转发,实现内网服务器的外网访问_20160107_七侠镇莫小贝
- 用ssh反向隧道访问内网机器
- 云主机不能外网ssh连接,只能内网ssh连接的问题处理
- 从外网 反向代理 SSH 连接局域网内的电脑
- 用ssh反向隧道访问内网机器
- 通过反向ssh连接+socks5+web-proxy来访问内网资源
- ssh反向连接(公网跳转内网服务器)
- 通过ssh反向连接内网主机的方法