SSH:应用层协议,实现远程连接
一、安装配置
1、主机端
在VSCode的扩展中搜索“Remote”,install其中的“Remote - SSH” 和 “Remote - SSH:Editing Configuration Files”
Q&A:
(1)如何保证远端SSH可用?如下2、虚拟机端
(2)确保本地环境中支持SSH,通过安装Git来获取SSH功能?
(3)多个教程中提到需要安装 Git 和 OpenSSH ?
2、虚拟机端(Linux)
(1)安装SSH
sudo apt-get install openssh-server
未安装SSH
SSH安装成功后:
(2)查看是否启动
ps -s | grep ssh # 查看ssh服务是否启动
若未启动,手动启动ssh
sudo service ssh start # 启动ssh服务
(3)查看ssh状态
sudo service ssh status # 查看ssh服务状态
Ubuntu防火墙相关
如果Ubuntu上设置了防火墙,需要设置防火墙允许ssh连接。
(1)若使用的是ufw防火墙,设置允许ssh连接:
sudo ufw allow ssh
(2)查看防火墙状态
sudo ufw status
(3)开启防火墙 / 关闭防火墙
sudo ufw enable # 开启防火墙
sudo ufw disable # 关闭防火墙
(4)开启ssh端口,防火墙允许端口
sudo ufw allow 22
(5)查看防火墙规则
sudo ufw status numbered
(6)删除防火墙规则
sudo ufw delete 1
SSH相关
(1)查看ssh服务监听端口
netstat -anp | grep ssh
(2)修改ssh配置文件
sudo vim /etc/ssh/sshd_config
修改配置文件内容
# 添加 Port 2222 访问端口,可同时使用多个端口
Port 22
Port 2222
# 将PermitRootLogin prohibit-password修改为PermitRootLogin yes
PermitRootLogin yes
(3)重启ssh服务
sudo service ssh restart
二、连接
1、连接过程
安装完成后,在侧边栏依次点击
输入要连接的虚拟机相关信息
e.g ssh 主机名@主机地址 -A # 图片中“A”没敲上
config配置文件中的相关注释:
Host <远程主机名称>
HostName <远程主机IP>
User <用户名>
刷新
连接过程需要选择remote计算机的类型,并输入remote计算机的密码。
连接成功后,vscode左下角显示remote计算机名
如果需要连接多个主机,在配置文件中:
Host <远程主机名称1>
HostName <远程主机IP1>
User <用户名1>
Host <远程主机名称2>
HostName <远程主机IP2>
User <用户名2>
Host ....
2、 PS
(1)Linux查看用户名和主机名
whoami # 查看用户名
hostname # 查看主机名
ifconfig # 查看IP地址
三、ssh设置免密登录
(暂时没这方面需求,没有尝试,先记录一下,怕以后找不到hhhh)
1、生成秘钥
ssh-keygen -t rsa -C "
2、查看秘钥
cd ~/.ssh
ls
3、将公钥复制到远程服务器
# linux
ssh-copy-id -i ~/.ssh/id_rsa.pub root@ip
# windows
scp ~/.ssh/id_rsa.pub root@ip:/root/.ssh/authorized_keys
4、登录远程服务器
ssh root@