1、Ubuntu 上启用 SSH
(1)打开终端,并且安装openssh-server软件包:
sudo apt update
sudo apt install openssh-server
当被提示时,输入你的密码并且按 Enter,继续安装。
(2)安装完成后,SSH 服务将会被自动启动。你可以验证 SSH 是否正在运行,输入:
sudo systemctl status ssh
输出将会告诉你服务正在运行,并且启用开机启动:
注意,Ubuntu 自带一个配置防火墙配置工具,称为 UFW。如果防火墙在你的系统上被启用,请确保打开了 SSH 端口:
sudo ufw allow ssh
2、在VSCode上安装Remote - SSH插件
在Windows系统下,打开cmd,输入ssh,查看是否安装,如下图所示(表示已经安装过了),如果没有找到命令,可以登录GitHub下载win版本OpenSSH安装包,记得将路径加入系统环境变量哟~
打开VSCode,在扩展程序中搜索remote-ssh,搜索结果的第一个插件就是的,点击安装即可。
点击左下角的图标,可以连接Linux服务器。
按提示输入登录命令和密码即可。
ssh 远程主机用户名@远程主机ip
例如 ssh mjn@192.168.10.131
3、设置免密登录
(1)打开cmd生成密钥
ssh-keygen -t rsa
然后点击回车即可,记住,括号里面出现的路径就是密钥存放的路径
如果已经存在密钥了,会提示Overwrite (y/n)? 已经存在就不用覆盖掉原来的了。
(2)打开密钥存放的路径,将箭头指向的这个文件传输到Linux中/home/mjn/.ssh下面
(3)修改.ssh目录权限为700
chmod 700 .ssh
(4)把公钥内容追加到authorized_keys文件中,并将权限修改为600
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys
(5)重启sshd
systemctl restart sshd.service
4、远程连接效果
可以选择目录在左侧导航栏进行展示
此时,终端处显示的已经是Linux系统中的目录结构了。
注:在设置免密登录的第5小步重启sshd中,笔者在输入sshd.service时使用自动补全,但就是补不全hh~,我以为是没有这个文件,所以搜索了其他博客,发现要启动sshd服务,相关指令如下:
启动sshd服务
systemctl start sshd.service检查sshd服务状态
systemctl status sshd.service关闭sshd服务
systemctl stop sshd.service
可能补不全的时候,自己手动输入 sshd.service 也可以执行,但是我当时下意识感觉缺这个文件hh~