windows客户端SSH连接ubuntu/linux服务器,三种网络连接:局域网,内网穿透(sakuraftp),虚拟局域网(zerotier)
目录
- SSH简述、三种网络连接特点
- SSH简述
- 局域网内连接
- 内网穿透(如SakuraFTP)
- 虚拟局域网(如ZeroTier)
- Linux服务端(局域网连接)
- windows客户端(局域网连接)
- 使用windows终端连接
- 使用MobaXterm连接
- 内网穿透(使用sakurafrp)
- sakurafrp创建隧道
- ubuntu服务器安装和配置
- 远程管理节点
- 组建虚拟局域网(使用zerotier)
- 其他
SSH简述、三种网络连接特点
SSH简述
SSH(Secure Shell)是一种强大的网络安全协议,主要用于从远程位置安全地登录并控制计算机系统。它允许用户通过加密的连接从本地计算机远程访问服务器,执行命令、管理文件和进行各种操作,从而实现高效、安全的远程工作环境。
局域网内连接
当服务器和客户端位于同一物理网络中时,这种连接是最直接的方式。
优点:
速度:由于数据不需要穿越广域网,因此传输速度通常较快,延迟较低。
简单易行:只需要基本的网络配置即可实现连接。
安全性较高:数据仅限于局域网内部,减少了外部攻击的风险。
缺点:
缺点:一旦离开局域网环境,连接就会中断。
可访问性受限:需要确保服务器始终处于开机且联网状态。
内网穿透(如SakuraFTP)
允许从互联网上的任何地方访问位于私有网络中的服务器
优点:
灵活性高:不受地理位置限制,可以随时随地访问服务器。
配置简单:无需额外硬件,无需额外配置客户端,即可实现远程连接。
缺点:
安全性问题:公开暴露服务器端口可能会增加遭受攻击的风险。
虚拟局域网(如ZeroTier)
通过软件定义网络技术创建一个跨越物理位置的虚拟局域网。
优点:
构建网络:一次配置使多个设备之间可以互相访问。
易于管理:提供了图形界面或其他简便工具来进行网络管理,可以轻松添加或移除设备。
缺点:
安全性:需要信任虚拟网络服务提供商处理的数据流。
速度慢:ZeroTier服务器响应延迟高,连接不稳定。
部署难度:需要为组网的每台设备安装zerotier服务和配置网络。
Linux服务端(局域网连接)
启动ssh服务器
#安装ssh服务器(一般系统已经预装好了)
sudo apt install openssh-server
#检查ssh服务器状态,active就是运行状态
sudo systemctl status sshd
#开启服务器
sudo systemctl start sshd
#重启服务器
sudo systemctl restart sshd
#启用服务器(开机自启动)
sudo systemctl enable sshd
如果服务器连接异常,可能需要修改配置文件:
#修改服务器配置文件
nano /etc/ssh/sshd_config
#修改以下内容:
#PermitRootLogin yes 允许ROOT用户登录
#PasswordAuthentication yes 允许密码验证登录
#Port 22 确保为默认22端口,或者自定义端口
#ClientAliveInterval 60 重连时间
#ClientAliveCountMax 3 重连次数
#MaxAuthTries 5 最多尝试登录次数
#保存后务必重启服务
sudo systemctl restart sshd
查看服务器IP
#查看IP,对应网络接口的inet是ipv4地址
ip addr
windows客户端(局域网连接)
使用windows终端连接
查看windows是否预装了ssh
win+i打开设置,搜索设置“可选功能”,下图显示的是已启用了openssh客户端。如果没有,添加可选功能中搜索“openssh客户端”。
win+R ,cmd回车,打开终端
先ping一下测试是否连接正常
ping xxx(your-server-ip)
若不能访问,检查ubuntu服务器的防火墙:
#检查防火墙
sudo ufw status verbose
#开放端口
sudo ufw allow 22
#或开放来自某IP访问某端口的权限
sudo ufw allow from your_ip to any port 22
#开启防火墙
sudo ufw enable
ssh连接:
ssh user_name@your_ip -p port
#例如以root用户登录,ip地址为192.168.1.100,端口号为默认22 :
ssh root@192.168.1.100 -p 22
用户名可以省略,端口号不写默认22
回车后,如果正常,需要验证 Ubuntu 的用户(如果ssh已包含用户名则省略)和登录密码,密码输入是看不见的。
然后就可以正常连接服务器了
使用MobaXterm连接
官网下载 https://mobaxterm.mobatek.net/
推荐理由:使用mobaxterm可以更方便的登录ssh,而且可以进行远程文件管理,多终端运行,上传下载,监测服务器状态等等。
点击session-ssh,remote host填写IP地址,port填写端口号,username可填可不填,点击ok进行连接。弹出对话框可以选择是否保存密码。
左下角点击remote monitor,以显示服务器状态,如内存占用,上传下载,活跃用户等
其他内容请自行搜索教程。
内网穿透(使用sakurafrp)
sakurafrp创建隧道
sakurafrp樱花穿透:https://www.natfrp.com/user/
推荐理由:免费使用(认证借助支付宝要1¥),节点多,稳定,每日签到就送流量
首先注册账号并实名认证。然后服务-隧道列表-创建隧道,选择合适的节点。
隧道类型选择TCP,本地端口一定要选择22或你配置的ssh端口。
关于创建隧道网上教程很多,请自行搜索。
这里的本地端口、远程端口笔者刚接触时有点迷糊,其实很简单,不使用内网穿透时,如果客户端和服务器在同一局域网内,客户端可以直接通过局域网内的IP地址和服务器的SSH端口(通常是22端口)来访问服务器。使用樱花内网穿透时,需要设置服务器的SSH端口作为本地端口,这样服务器内部的SSH服务可以被正确识别。而远程端口是由樱花提供的一个可以在互联网上访问的端口,客户端通过连接这个远程端口来ssh访问局域网内的服务器。
ubuntu服务器安装和配置
安装SakuraFrp 启动器,这里是用的远程管理的方式,即在网页端进行配置节点等操作
sudo bash -c ". <(curl -sSL https://doc.natfrp.com/launcher.sh)"
安装详情请看官网指南 https://doc.natfrp.com/launcher/usage.html
安装过程中需要填写访问密钥,在sakurafrp首页获取。
还需要设定连接密码。这个密码就是进入网页端远程管理的密码。
安装完成后,启动远程连接服务
#开启服务
sudo systemctl start natfrp.service
#启用服务(开机自启动)
sudo systemctl enable natfrp.service
远程管理节点
sakuraftp 服务-远程管理,找到服务器,输入你设置的连接密码,进入管理界面
拖动或双击隧道即可启动或关闭。
启用后,点击日志,找到使用 >>xxxx:xxxx<< 连接你的隧道
这一行,冒号:前面的xxxx就是内网穿透的IP,后面是端口号,
比如你的是这样的:abc1-de2.fg:1234,那么IP是abc1-de2.fg,端口号是1234
所以客户端登录是这样的
ssh user@abc1-de2.fg -p 1234
组建虚拟局域网(使用zerotier)
zerotier官网:https://www.zerotier.com/ (科学上网更快)
推荐理由:免费,配置简单,无限流量,可配置3个网络,每个网络10台设备
缺点:卡
步骤:
-
注册账号,创建网络
点击create a network会创建一个虚拟局域网
-
下载windows客户端,加入网络
点击 join new network
-
下载linux客户端,加入网络
#安装zerotier
curl -s https://install.zerotier.com | sudo bash
#启用
sudo systemctl start zerotier-one.service
#开机启动
sudo systemctl enable zerotier-one.service
#加入网络 网络就是你创建时生成的,在zerotier查看
sudo zerotier-cli join your-networkid
#查看网络列表
sudo zerotier-cli listnetworks
#查看网络状态
sudo zerotier-cli status
#离开网络
sudo zerotier-cli leave your-networkid
#关闭
sudo systemctl stop zerotier-one.service
- 在zerotier授权加入,管理
- 客户端ssh连接服务端虚拟局域网的IP,很卡是正常的!
其他
服务器建议使用安全的密码访问。修改密码:
#修改密码
sudo passwd root
#切换为ROOT用户
su root
使用命令行登录wifi
#列出可用的WiFi
nmcli dev wifi list
#连接wifi,其中<SSID>是你想要连接的网络的名称,<密码>是该网络的密码
nmcli dev wifi connect <SSID> password <密码>