远程连接内网电脑
学校给我配了一个电脑,这台电脑就成了我熟悉各种计算科学软件的平台。有时候想持续关注一下电脑的状态,就想到了 SSH,但是电脑是在内网的,没法直接用IP连接。又是去网上搜索了一番,找到了连接内网服务器的方法。
连接步骤很简单,就只有两步。但是有一个前提条件,就是拥有一个有公网 IP 的服务器(对我来说,就是这个博客所在的服务器了)。
内网电脑连接公网服务器
- 修改公网服务器
sshd
配置文件/etc/ssh/sshd_config
# 启用转发功能 GatewayPorts yes
- 连接服务器
$ ssh -f -N -R 6766:localhost:22 ubuntu@hehome.xyz -i /home/ubuntu/.ssh/id_rsa
参数含义:
-f: 后台执行ssh指令
-N: 不执行远程指令
-R: 端口转发
-i: 指定身份文件- 修改公网服务器
外网电脑连接内网电脑
ssh -p 6766 he0119@hehome.xyz
-p: 指定远程服务器上的端口
不过如果仅仅是这样的话,会出现 SSH
连接在一段时间后,卡死的情况,这时候就需要修改 /etc/ssh/ssh_conf
(全局设置),在里面添加:
ServerAliveInterval=30
也可以直接再SSH命令后面加上:
ssh -o ServerAliveInterval=30
参数含义:
-o: 指定配置选项
ServerAliveInterval: 客户端主动向服务端请求响应的间隔,单位为秒