原创
vscode远程连接服务器
vscode远程连接服务器
这里我使用的是服务器是
腾讯云Ubuntu 18.04
我们所使用的腾讯云服务器默认没有开启 root 用户,我们需要开启 root 用户
Ubuntu系统的默认用户名是ubuntu,初始化后默认不设置root帐户和密码。需要在设置中开启允许root用户登录。
登录服务器设置 root 密码
- 使用 ubuntu 帐户登录云服务器。
- 设置 root 密码。
bash
1
sudo passwd root
输入
root用户密码,按Enter。重复输入
root用户密码,按Enter。返回信息表示
root密码设置成功
bash
1
$ passwd: password updated successfully
- 修改 sshd_config 配置
bash
1
sudo vi /etc/ssh/sshd_config
- 找到 #Authentication,按
o切换为插入模式(左下角会出现 INSERT),将PermitRootLogin前的 # 删除,并将参数prohibit-password修改为yes
按
ESC退出插入模式,在其后面输入wq,保存重启 ssh 服务
bash
1
sudo service ssh restart
vscode 下载 remote ssh 插件
打开应用商店,按
SHIFT + CTRL + X或者直接点击左边应用商店搜索 remote-ssh 并点击 install
安装完成后左侧会出现一个电脑标识,点击侧边栏
+添加一个新的ssh地址
bash
12
# 连接地址 ssh root@your-server-hostip -A
# 或者 ssh root@你的域名 -A
输入完成后会需要输入密码进行连接,第一次连接会弹出一个时候继续连接的选项,不用管,直接回车,然后回再次弹出,需要输入腾讯云服务器登录的密码
这样就实现了远程登录服务器了,这样会比在浏览器上使用命令行方便的多
思考一下,每次登录都需要输入密码这样是不是很方便,接下来我们需要实现免密登录
免密登录原理
- 在本机上生成公钥私钥。
- 将公钥拷贝给服务器中的 authorized_keys 文件中(authorized_keys 表示授权密钥)
- 本机向服务器发送一个连接请求。
- 服务器得到本机的信息后,在
authorized_key中查找,如果有相应的用户名和 IP,则随机生成一个字符串,并用本机(也就是authorized_keys中授权过的)的公钥加密,发送给本机。 - 本机得到服务器发来的消息后,使用私钥进行解密,然后将解密后的字符串发送给服务器。服务器进行和生成的对比,如果一致,则允许免登录。 总之:A 要免密码登录到 B,B 首先要拥有 A 的公钥,然后 B 要做一次加密验证。对于非对称加密,公钥加密的密文不能公钥解开,只能私钥解开。
本机和服务器生成公钥私钥
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
bash
123456
# 生成公钥私钥,期间会出现3次要输入的情况,可以直接忽视,回车就行
ssh-keygen
# 生成的密钥默认在当前用户的 .ssh 文件夹中
# 在本地环境中找到 id_rsa.pub 文件打开复制公钥
使用 vscode 远程连接需要免密登录的服务器
登录成功后需要选择文件夹,这里我选择 .ssh 文件夹
找到里面的 authorized_keys文件
并把刚才复制的本机公钥复制到authorized_keys文件中,这样再次使用 vscode 连接服务器就不需要输入密码了
期待你的捷足先登



