VSCode SSH连接腾讯云
纯新手记录一下,感觉我好呆。。
本地环境:Windows11+VSCode
远程服务器:Ubuntu 20.04 CPU - 2核 内存 - 2GB 系统盘 - SSD云硬盘 40GB
预备工作:
- 首先你要有一个腾讯云服务器实例:
-
有一个VSCode,并且配置以下插件(在左侧图标Extensions搜索下载即可):
- Dev Containers
- Remote - SSH
- Remote - SSH: Editing COnfiguration Files
- Remote Development
- Remote Explorer
- WSL
远程服务器配置
-
首先获取root权限
sudo su
(第一次登录可能需要输入密码)
-
生成服务器的秘钥:
ssh-keygen -o
一路回车即可生成两个秘钥,一个是
id_rsa
,还有一个是id_rsa.pub
目录位置是:
~/.ssh/
-
将Windows本地的public key放入
authorized_keys
authorized_keys
也是在.ssh
文件夹下,得自己创建,创建一个新文件的命令:touch ~/.ssh/authorized_keys
找到本地的
id_rsa.pub
,一般在C:\Users\username\.ssh
下,使用记事本打开,将其复制打开刚才在服务器生成的
authorized_keys
文件:nano ~/.ssh/authorized_keys
将其复制进去
输入
:wq
保存并退出
VSCode连接
-
安装好插件后,点击右侧类似于小电视的图标
在弹出的窗口输入:
用户名@公网ip
然后选择
C:\User\username\.ssh\config
(第一个选项应该是),写入以下信息:Host ubuntu20 #这个可以自定义 HostName #公网IP User root #服务器对应的用户名 IdentityFile ~/.ssh/id_rsa Port 22 #默认端口 PreferredAuthentications publickey
配置好了之后可以直接进行连接了:
然后选择Linux。
到这里可能会出现一些问题:
连接不上:
-
查看你的用户名是否正确
如果你的.ssh文件实在
root
下,那么上面配置文件的User
应该是root
,否则查看.ssh
文件是在哪个文件夹之下的 -
查看
/etc/ssh/sshd_config
文件,命令:vim /etc/ssh/sshd_config # 或者 nano /etc/ssh/sshd_config
确保
PubkeyAuthentication yes
这个选项未被注释。
权限不够:
通常,服务器中的
.ssh
文件应该是只有所有者可写的(权限为700),authorized_keys
文件应该是只有所有者可写的(权限为600)。在服务器中设置设置权限的命令:chmod 700 ~/.ssh chmod 600 ~/.ssh/id_rsa
sshd 相关配置:
如果 ssh 是客户端,那么 sshd 就是服务端(服务器)
当使用云服务器时,很有可能 sshd 的预设配置导致你无法使用 ssh 连接
配置文件为 /etc/ssh/sshd_config (记住是你服务器的)
举几个例子:
PasswordAuthentication yes PermitRootLogin yes Port 22 PubkeyAuthentication yes
说明
PasswordAuthentication #是否允许使用密码认证 PermitRootLogin #是否允许登录 root 账号 Port #修改端口号 PubkeyAuthentication #是否允许公钥认证
-
如果你重装系统之后
使用终端ssh username@ip地址 连接服务器,报错Host key verification failed.
,那么需要更新本地的known_host,命令为:
ssh-keygen -R 你的ip地址
参考文章:作者:罗翔讲Rust https://www.bilibili.com/read/cv12226298/ 出处:bilibili