ssh远程连接Ubuntu(局域网和非局域网)


前言

我们通常使用ssh连接虚拟机中的Ubuntu,方便学习。但是当在项目中遇到远程控制主机的时候,发现ssh连接不到外网主机,如果使用向日葵或者别的工具,有时候很卡顿。这时候使用内网穿透就可以实现在非局域网ssh远程控制主机的目的。

1.局域网 远程连接

当两个主机处于一个局域网下时,这两个主机可以相互ping通,一个局域网下的两个主机用ssh连接比较简单。
1.切换root用户,如果未设置root用户密码,需要先设置root密码:

# 切换root用户
su root
# 设置root用户密码
sudo passwd root

2.安装ssh远程连接工具

sudo apt install openssh-server

3.开启ssh服务

sudo service ssh start
或者
sudo service ssh restart

# 停止ssh服务
sudo service ssh stop

4.设置ssh服务开机自启动(开机自启动基本都类似,python脚本开机自启动参考bash脚本注册到系统服务实现开机自启动

# 开机自启动
sudo systemctl enable ssh
#查看ssh服务状态
sudo systemctl status sshd

5.修改ssh的配置文件sshd_config,默认路径为/etc/ssh/ssd_config ,修改portListenAddressPermitRootLogin

sudo vim /etc/ssh/sshd_config

去掉注释,修改如下:表示监听22号端口(也可以改成其他端口,但是要确保端口打开),监听所有的地址,允许root用户远程登录
在这里插入图片描述
6.开启防火墙:

sudo ufw enable

7.ssh远程连接默认使用的是22号端口,要让防火墙允许ssh服务通过防火墙(如果改成了其他端口,一样的操作):

sudo ufw allow ssh
sudo ufw allow 22/tcp

8.修改后重启ssh服务,使其配置生效:

sudo systemctl restart ssh

9.ps查看ssh进程状态:
在这里插入图片描述
到这里,就可以通过ssh进行远程连接了。

2.非局域网 远程连接

Attention:ssh只能用于可以相互ping通的主机之间

使用Zerotier可以将接入的设备放在一个虚拟的局域网中,这样你在外网,只要机子配置了Zerotier和另一台机子在一个Network中,就可以直接访问了,废话不多说看操作。

1.登录zerotier 官网 创建一个new network ,复制NETWORK ID
在这里插入图片描述
上图中的NETWORK ID就是命令行中的你的network ID
2.Ubuntu安装zerotier

curl -s https://install.zerotier.com | sudo bash

3.Ubuntu加入zerotier局域网

sudo zerotier-cli join 你的network ID

4.Windows安装zerotier并加入局域网
客户端下载地址:https://www.zerotier.com/download/
安装之后右键join network,输入你的network ID

5.返回zerotier 官网在Ubuntu和Windows前面打勾 授权

在这里插入图片描述
6.在Windows客户端打开ssh连接,输入上图中Ubuntu的Manager IPs,即可连接成功。

3. Zerotier常用命令:

# 启动Zerotier
sudo systemctl start zerotier-one.service
# 重启Zerotier
sudo systemctl restart zerotier-one.service
# 设置开机自启动
sudo systemctl enable zerotier-one.service
# 查看服务状态
zerotier-cli status
# 加入网络
zerotier-cli join 8850xxxxxxxxxxxxxxx
# 离开网络
zerotier-cli leave 8850xxxxxxxxxxxxxxx
# 查看所有网络
zerotier-cli listnetworks

4.远程桌面控制

Ubuntu安装了zerotier后,也可以配合xRDP(远程桌面)进行操作,具体操作参考documentation

远程操作界面如下
在这里插入图片描述


总结

且学且分享。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值