欢迎关注我的CSDN:https://spike.blog.csdn.net/
本文地址:https://spike.blog.csdn.net/article/details/131536508
AutoSSH 是一款用于创建和维护持久的SSH隧道的工具,可以自动检测和恢复断开的连接,从而保证隧道的稳定性。AutoSSH 的原理是在 SSH 连接上运行一个监控进程,该进程会定期发送测试数据包,如果超过一定时间没有收到回应,就会重新启动 SSH 连接。AutoSSH 还可以通过端口转发或代理服务器来实现不同网络之间的通信。AutoSSH 的使用方法很简单,只需要指定本地和远程的端口号,以及远程主机的地址和用户名,就可以建立一个安全的隧道。
例如,在服务器中,后台启动 Stable Diffusion WebUI 服务,需要本地访问,即可,使用远程端口转发功能,建立长时间链接。
查看端口是否可用:
nc -vz -w 2 [your ip] 2212# 输出,成功
Connection to [your ip] port 2212 [tcp/*] succeeded!
建立 ssh 远程服务的端口转发:
brew install autossh# 不需要填写远程的访问端口2212,需要填写所转发的远程服务本地端口9301
autossh -M 20001 -N -f -L localhost:9301:localhost:9301 [your name]@[your ip]ps aux | grep ssh | awk '{print $2}' | xargs kill -9
也可以在 bashrc 中,设置命令,以便于启动:
vim ~/.zshrc
alias ssh_tunnel="autossh -M 20001 -N -f -L localhost:9301:localhost:9301 [your name]@[your ip]"
source ~/.zshrc# 运行命令,即可
ssh_tunnel
VSCode 也提供相应的端口转发功能,与之前的autossh
功能相同,不过关闭VSCode,转发也会停止。
- 连接远程服务器。
- 在端口中,添加需要转发的端口号,本地地址就会自动生成,转发的
IP:端口
。
即:
参考:
- ping 端口是否开放(Mac、Linux、Windows系统)
- 实用的kill脚本(ps -ef | grep keepalived | grep -v grep | awk ‘{print $2}‘ | xargs kill -9)
- StackOverflow - How to stop/kill an autossh tunnel?
- 知乎 - VSCode是如何做到将远程容器的端口转发到本地的?
- SSH隧道详解与使用AutoSSH实现稳定的内网穿透
- CSDN - Server - 服务器配置 Conda 和 Jupiter Lab 的环境