ubuntu使用ssh进行局域网和非局域网远程连接
目录
- 1.局域网远程连接
- 2.非局域网远程连接
当想要用一台电脑远程连接另一台linux主机电脑时,可能会遇到不少问题,可分为局域网远程连接和非局域网远程连接。当让主机A远程连接主机B时,可以将主机A看为客户端,主机B看为服务器。我们需要对主机B进行一些允许远程连接的配置。
1.局域网远程连接
主机A与主机B在同一个局域网下:主机A和主机B都所属同一个路由器下的子主机,共用一个局域网,例如两台主机都连接上了同一个wifi,两者的IP均是网络服务提供商分配局域网IP,并非公网IP,远程连接比较容易。由于主机B被远程连接,视作服务器,因此我们对主机B进行配置:
- 安装ssh远程连接工具:
sudo apt install openssh-server
- 开启ssh服务:
sudo service ssh start
或者
sudo service ssh restart
- 关闭ssh服务:
sudo service ssh stop
- 设置ssh服务开机则启动:
sudo systemctl enable ssh
- 查看ssh服务的状态,要保证ssh服务为active活跃状态,可用步骤2启用服务:
sudo systemctl status sshd
- 修改ssh的配置文件sshd_config,路径默认为/etc/ssh/sshd_config:
sudo vim /etc/ssh/sshd_config
找到“port“,“ListenAddress”,“PermitRootLogin”,去掉注释,改为:
表示监听22号端口,监听所有地址,允许远程登陆。
- 开启防火墙:
sudo ufw enable
- ssh远程连接末默认使用的是22号端口,要让防火墙允许ssh服务通过防火墙:
sudo ufw allow ssh
sudo ufw allow 22/tcp
- 修改后重启ssh服务后,使其配置文件生效:
sudo systemctl restart ssh
- 之后最好重新修改一下root用户的密码,之前没有修改,就一直连接不上,修改后反而链接上了:
sudo passwd root
准备远程连接,用ifconfig查询主机B的IP地址,下图中192.168.3.219则为主机B的IP地址:
主机A可以使用ssh命令远程连接主机B了:
ssh root@192.168.3.219
2.非局域网远程连接
当主机A(客户端)和主机B(服务器)不在同一个局域网,例如一个主机在学校,一个主机在家里,若需要进行远程连接,则需要进行启用反向代理工具进行内网穿透。其本质上是是使主机B服务器与公网代理之间建立一个管道通信。请先完成1.局域网远程连接配置,再进行此章节。
- 安装openssh-client:
sudo apt-get install openssh-client
- 生成密钥,可以直接回车使用默认保存路径(/home/“用户”/.ssh),输入管理密码:
ssh-keygen
私钥默认保存在/home/“用户”/.ssh/id_rsa
公钥默认保存在/home/“用户”/.ssh/id_rsa.pub
由于.ssh目录是隐藏目录,需要用
ls -a来显示,然后进入目录
ls -a
将公钥给服务器认证列表并设置权限:
cp .ssh/id_rsa .ssh/authorized_keys
sudo chmod 700 .ssh
sudo chmod 600 ~/.ssh/authorized_keys
- 修改ssh配置文件sshd_config,寻找RSAAuthentication和PubbkeyAuthentication字段,若没有则在文件最后添加上如下:
- 重启ssh服务:
sudo systemctl restart sshd
- 安装ngrok反向代理,进入官网下载(https://ngrok.com/download),执行官网的命令进行解压安装:
- 注册ngrok账户并且登陆,会给你一个token ,在电脑上进行添加:
- 开启ngrok服务:
ngrok tcp 22
要一直保持该进程不会关闭才能进行远程连接,出现如下即可:
- 开始远程连接,-p的后面为上一步中出现的ngrok代理的端口:
ssh root@0.tcp.ngrok.io -p*****
ubuntu使用ssh进行局域网和非局域网远程连接相关推荐
- ssh远程连接Ubuntu(局域网和非局域网)
文章目录 前言 1.局域网 远程连接 2.非局域网 远程连接 3. Zerotier常用命令: 4.远程桌面控制 总结 前言 我们通常使用ssh连接虚拟机中的Ubuntu,方便学习.但是当在项目中遇到 ...
- Ubuntu下安装OpenSSH Server并在客户端远程连接Ubuntu
本文主要是向读者介绍了如何在Ubuntu系统下安装OpenSSH Server并在客户端远程连接Ubuntu,共有两种方法,一种是命令行安装:另一种是通过Ubuntu Software Center安 ...
- tp-link 怎么打开ssh服务_如何用Xshell远程连接VPS服务器
在上一篇文章中,我们提到VPS服务器就相当于一台电脑,要操作这台电脑就需要通过SSH建立远程连接登录. SSH中文名是安全外壳协议,是专门用来远程登录的. 获取VPS服务器信息 和登录本地电脑一样,远 ...
- linux服务器安装xfce,Ubuntu 16.10安装Xfce桌面与VNC远程连接
在远程服务器上运行桌面 通常在远程Linux服务器上工作时,您可以使用ssh终端. 但是,有时您需要在服务器上运行GUI应用程序,并保持运行一段时间. 最近我不得不做类似的事情,所以我设置一个Ubun ...
- Ubuntu 服务器开机后二十多分钟远程连接自动断掉(自动挂起)
0x00 问题描述 近日实验室新进了一批服务器,有幸分到了一台3090的.安装nvidia驱动后重启了一下,刚开始还正常能用,过了二十来分钟,远程桌面连接自动断掉了,ssh连接也连接不上,Ping I ...
- mysql80连接不上本地服务器_小白教程:ubuntu服务器安装jupyter notebook, 并能够实现本地远程连接
1. terminal 敲击 pip3 install jupyter 此操作安装 jupyter notebook,若已经安装过的可以跳过这一步. 2. terminal 敲击 jupyter no ...
- Windows使用ssh协议远程连接ubuntu linux子系统
Windows使用ssh协议远程连接ubuntu linux子系统 一.Windows远程连接ubuntu linux子系统 二.开启ubuntu ssh服务 三.获取ubuntu子系统的ip地址 四 ...
- windows 10远程连接ubuntu 18.04 Gnome桌面:NoMachine工具使用详解
文章目录 Gnome桌面环境 NoMachine工具 实际操作 Ubuntu操作 Windows操作 远程连接设置 总结 做为系统管理员,远程连接到各种服务器算是常规操作.如果本地是windows环境 ...
- 使用VNC远程连接Ubuntu - 内网穿透实现公网远程办公
写在前面:博主是一只经过实战开发历练后投身培训事业的"小山猪",昵称取自动画片<狮子王>中的"彭彭",总是以乐观.积极的心态对待周边的事物.本人的技 ...
最新文章
- 父窗口控制弹出窗口快捷键ctrl+c关闭
- 帝国cms微信小程序多语言相亲交友制作记录难点使用的小程序组件分析
- Web安全——正方教务系统自主选课非正常退课解决方案(危险操作,仅用于学习)
- 1-5Tomcat 目录结构 和 web项目目录结构
- [浏览器]Apple之Safari 5.0.4
- 浅谈 TypeScript【上】-- Flow 静态类型检查工具
- 如何格式化电脑_如何将c盘格式化,垃圾文件太多,不知道怎么办
- 两个JS文件使用全局变量并互相调用funciton,JS判断checkbox状态,延迟执行JS语句
- 海南小地图(echart)
- 一些Arduino 测试代码
- 【路径规划】基于matlab无线充电车辆路径和速度预测【含Matlab源码 1473期】
- 算法导论5.1 雇用问题
- 月薪一万的北漂可以过上什么样的生活?
- Revit软件安装族库/族样板/项目样板默认位置在哪?(详细说明)
- 算法竞赛入门经典 电子书(附习题解析)网盘下载
- JavaScript简易文字对战游戏
- 蓝桥杯:填字母游戏(第八届决赛javaB第五题) 博弈+递归+回溯+map记忆化
- linux hase数据,Linux取得Redis数据库中hash类型的所有feild或者所有value
- 把服务器sql数据库导出excel文件,将mysql数据库数据以Excel文件的形式导出
- argc,**argv