赞
踩
写在前面:
本文主要包含openssh-server的配置和ssh反向代理服务器的配置两部分内容。都比较简单,但使用频率低,容易忘,故纪录备忘一下。
1.安装openssh-server
sudo apt install openssh-server
2.打开sshd_config文件并写入下面内容
sudo vim /etc/ssh/sshd_config
Port 12345 # 设置自己喜欢的ssh访问端口 默认22
PermitRootLogin yes # 允许远程root登录
3.重启openssh-server服务
sudo systemctl restart sshd
4.登录ssh服务器
# 端口为22时可省略
ssh username@sshServerIP -p 12345
5.允许openssh-server后台运行
sudo systemctl enable sshd
内网穿透需要一个已知IP的公网主机来 “站岗” ,接收内网主机登录,维持ssh连接。
主机 | 用户名 | IP | ssh server port | autossh | 映射端口 |
---|---|---|---|---|---|
公网 P | p_user | 9.9.9.9 | 10009 | - | 10008 |
内网 I | i_user | 1.1.1.1 | 10001 | 10002 | - |
1.在公网主机(P)和内网主机(I)分别安装配置openssh-server(同上),端口分别配置为10009、10001
2.在内网主机上安装autossh,这个工具负责维持ssh连接(为什么要维持请查阅ssh相关资料)
# 内网 I:
sudo apt install autossh
3.在内网主机生成id_rsa
# 内网 I:
ssh-keygen # 这里直接Enter到底 不要设置密码
#查看生成的id_rsa
ls ~/.ssh/
# id_rsa.pub 就是公钥
4.将内网主机生成的公钥复制到公网主机
# 内网 I:
scp -P 10009 ~/.ssh/id_rsa.pub p_user@9.9.9.9:~/
5.在公网主机加入公钥
# 公网 P:
sudo cat id_rsa.pub >> ~/.ssh/authorized_keys
6.内网主机主动建立autossh连接
# 内网 I:
autossh -M 10002 -NfR 10008:localhost:10001 p_user@9.9.9.9 -p 10009
7.验证
# 公网 P:
ssh i_user@localhost -p 10008
8.设置开机自动建立连接
在Ubuntu的 “启动应用程序” 添加以下的命令,并勾选上。
# 就是第6步的命令
autossh -M 10002 -NfR 10008:localhost:10001 p_user@9.9.9.9 -p 10009
这里有一个问题,必须要登录认证身份之后才能启动,无法实现真正的 “开机启动” 。
试过 init.d; rc; systemd等下写sh脚本均为成功,若您有正解请告知,谢谢。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。