autossh端口映射

我有一台内网服务器和一台公网服务器,两个机器会不定期重启。我希望让内网服务器的22端口转发到公网服务器的127.0.0.1:60022,可以用autossh实现。
以下操作均在内网服务器上执行
首先设置使用密钥登录公网服务器,这样下次登录公网服务器就不需要输密码

# 创建密钥
ssh-keygen -t rsa -b 4096

# 发送密钥到公网服务器
ssh-copy-id -i /root/.ssh/id_rsa.pub root@公网IP

然后创建开机脚本,比如 vim /root/forward_ssh.sh

#!/bin/sh
autossh -M 5457 -fNR 公网IP:60022:127.0.0.1:22 root@公网IP

然后修改 /etc/rc.local 把脚本加进去,使其开机自动运行

/root/forward_ssh.sh
在 AutoDL 平台上修改端口映射设置通常涉及以下几个步骤,这些步骤可以帮助用户将远程服务器上的特定端口映射到本地机器上,以便于访问和调试服务。 ### 修改端口映射的方法 1. **确认服务运行的端口** 在开始之前,请确保你已经清楚地知道需要映射的服务正在运行的端口。例如,如果你在 AutoDL 上启动了一个 Jupyter Notebook 服务,并且它正在监听 `8889` 端口,则你需要将此端口映射到本地计算机上的某个端口。 2. **使用 SSH 建立隧道连接** 使用 SSH 命令建立一个从本地机器到 AutoDL 实例的隧道连接。命令的基本格式如下: ```bash ssh -L [本地端口]:localhost:[远程端口] username@remote_server_ip ``` 其中 `[本地端口]` 是你想用来访问远程服务的本地端口号,`[远程端口]` 是远程服务器上实际运行的服务端口号,`username` 是你的 AutoDL 账户用户名,而 `remote_server_ip` 则是 AutoDL 提供的服务器 IP 地址。 3. **输入密码验证身份** 执行上述命令后,系统会提示你输入 AutoDL 账户的密码进行身份验证。正确输入密码后,如果没有出现错误信息,则表示映射成功[^2]。 4. **测试映射是否生效** 映射完成后,你可以尝试通过浏览器或者相应的客户端工具访问 `http://localhost:[本地端口]` 来测试映射是否有效。如果一切正常,你应该能够看到远程服务器上运行的服务界面。 5. **保持连接稳定** 如果你发现 SSH 连接不稳定或容易断开,可以考虑使用一些专门的工具如 `autossh` 来维持一个持久稳定的 SSH 隧道连接。 6. **配置防火墙规则(如有必要)** 有时候可能还需要调整本地或远程服务器的防火墙设置以允许流量通过指定端口。这一步骤取决于具体的网络环境以及安全策略要求。 7. **结束映射** 当不再需要端口映射时,可以通过关闭 SSH 终端窗口来终止当前的映射关系。若要重新启用映射,则需再次执行相应的 SSH 命令。 以上就是基于已有资料整理出的关于如何在 AutoDL 中修改并设置端口映射的过程。需要注意的是,具体操作可能会根据 AutoDL 平台更新及其提供的功能有所变化,建议查看官方文档获取最新指导。 ```python # 示例代码:使用 Python 的 subprocess 模块执行 SSH 命令 import subprocess def create_ssh_tunnel(local_port, remote_port, username, server_ip): command = f"ssh -L {local_port}:localhost:{remote_port} {username}@{server_ip}" print(f"Executing command: {command}") # 注意: 在实际应用中处理异常情况 process = subprocess.Popen(command.split(), stdin=subprocess.PIPE) password = input("Enter your AutoDL password: ") process.communicate(input=password.encode()) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值