ssh server配置 + ssh内网穿透 | Ubuntu+SSH

写在前面:
本文主要包含openssh-server的配置ssh反向代理服务器的配置两部分内容。都比较简单,但使用频率低,容易忘,故纪录备忘一下。

0. 配置openssh-server

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

1. ssh实现内网穿透

内网穿透需要一个已知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 [email protected]:~/

5.在公网主机加入公钥

# 公网 P:
sudo cat id_rsa.pub >> ~/.ssh/authorized_keys

6.内网主机主动建立autossh连接

# 内网 I:
autossh -M 10002 -NfR 10008:localhost:10001 [email protected] -p 10009

7.验证

# 公网 P:
ssh i_user@localhost -p 10008

8.设置开机自动建立连接
在Ubuntu的 “启动应用程序” 添加以下的命令,并勾选上。

# 就是第6步的命令
autossh -M 10002 -NfR 10008:localhost:10001 [email protected] -p 10009

这里有一个问题,必须要登录认证身份之后才能启动,无法实现真正的 “开机启动” 。
试过 init.d; rc; systemd等下写sh脚本均为成功,若您有正解请告知,谢谢。

猜你喜欢

转载自blog.csdn.net/qq_40759015/article/details/109894751
今日推荐