目录
0、实例场景
本实例是在校园网的环境中,使用SSH在个人电脑(Win10)中远程连接实验室的服务器(Ubuntu20)。前提是个人电脑和实验室的服务器都连上了校园网,即处在同一个局域网(内网)中。
如果是在外网的环境下访问局域网(内网)中的服务器,则还需要做内网穿透,内网穿透的方法这可以看这里:内网穿透配置(FRP)_地球被支点撬走啦的博客-CSDN博客。不过本篇也是是实现内网穿透的基础。
其他场景下的SSH使用方法都大同小异。
1、Windows10中的SSH环境配置
一般来说 SSH 的客户端与服务端在 Win10/11 中都是在系统安装时已经存在的,叫做 OpenSSH。可以按下组合键 win+r 搜索“设置”,在打开的设置界面的搜索框中继续搜索“添加可选功能”选项,然后在弹出的对话框的“已安装功能”的搜索框中输入关键字 SSH 就可以查询自己电脑中的 SSH 的安装情况,如下:
上图只有“OpenSSH 客户端”,如果只是作为客户端连接其他主机的话只有这个是没问题的,但是如果是别的主机通过SSH连接本地电脑的话还需要安装“OpenSSH 服务端”,安装流程:按下win+s组合键,搜索Windows PowerShell,然后以管理员身份运行,输入以下命令:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
执行后出现以下界面
这时候再查询SSH的安装情况就会发现“OpenSSH 服务端”出现了
如果客户端也没有,那么安装SSH客户端可以使用以下指令
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
然后是配置SSH
win+s 在弹出的搜索框中搜索“计算机管理”,点打开界面的左边栏中的“服务”按钮,在右边栏中找到“OpenSSH Authentication Agent”选项。
右键“OpenSSH Authentication Agent”,选择“属性”,设置启动类型为“自动”,点击确定保存。
然后再右键“OpenSSH Authentication Agent”选择“启动”即可启动ssh客户端服务。
可以在 PowerShell 里面输入以下命令来检测 SSH 的运行状态:
Get-Service -Name *ssh*
这里因为是用 win10 连接其他主机,只是使用了客户端的角色,所以只开启了客户端,如下:
2、Ubuntu端的SSH配置
Ubuntu下的ssh配置起来方便不少
首先更新软件安装列表
sudo apt-get update
然后安装ssh服务端
sudo apt-get install openssh-server
查看ssh服务状态
service ssh status
最后的执行后的效果如下,如果显示下面红色框中的 active 标识就是说明 ssh 已经启动
输入 ifconfig 指令查看ubuntu主机的 IP 地址,显示出来的编号的含义如下:
eno1:代表由主板bios内置的网卡
ens1:代表有主板bios内置的PCI-E网卡
enp2s0: PCI-E独立网卡
lo: localhost,本地回环测试用
格式为:
inet [IP地址] netmask [子网掩码] broadcast [网关地址]
3、SSH使用
有多种使用SSH连接的方式,这里记录下在终端和VSCode中连接的方法。
3.1、在终端命令行中连接
如果客户端主机与需要连接的服务端主机在同一个局域网中的话,可以打开Windows的cmd终端,输入指令:
ssh username@ip
username为远程主机的用户名,ip为远程主机的ip地址,中间用一个@符号连接。如果用户名是邮箱的话,为了防止邮箱里的@与后面的@混淆,需要使用双引号将邮箱用户名括起来,如下:
ssh "mail_name"@ip
之后就可以在显示的远程终端中敲入命令执行操作了。
3.2、使用VSCode连接
首先需要在 VSCode 中安装“Remote-SSH”插件
安装完之后在 VSCode 的侧边栏中会出现一个电脑形状的远程连接图标,点击这个远程连接图标,点击加号按钮添加远程连接
在弹出的输入框中输入ssh连接的命令,即 ssh username@ip,然后回车
然后选择第一行C:\User\[你的用户名]\.ssh\config,回车
这步操作会自动把相关的配置保存到C:\User\[你的用户名]\.ssh\config文件中,如下:
然后在资源管理器中选中刚才添加的远程连接,点击后面的文件夹图标
在弹出的新窗口中会提示输入密码,在这里输入远程主机的登陆密码然后回车。之后回到资源管理器中,点击“打开文件夹”,选择想要打开的文件夹即可,这里需要再次输入密码。
这样就可以在VSCode中远程连接服务器了。这样的好处是可以可视化文件数目录,操作更加方便。
本地文件的上传:直接将本地主机的文件拖入到文件树中的文件夹中就可以完成文件的上传。
远程文件的下载:右键文件树中的文件,点击下载即可将远程服务器中的文件下载到本地电脑中。