VSCode远程连接服务器 免密登录(ssh key)
HDUZN

VS Code远程连接服务器,就可以直接编辑服务器(Linux)上的文件了,进行开发等,就比较方便了。用VS Code也很简单,直接安装一个 Remote - SSH 的扩展插件就可以了。

第一次添加登录的时候用 ssh username@hostip -A登录,比如用户名ubuntu,服务器ip是111.222.333.444,那就是ssh ubuntu@111.222.333.444

然后输入密码就能登录了。

但是,每次登录都需要输入密码。我们就可以用SSH密钥。
之前在使用Hexo博客的时候,已经用过了:Hexo SSH密钥配置

分两步:

  • 1.在本机创建SSH密钥;
  • 2.把公钥文件上传/复制到服务器上。

第一步、在本机创建一对新的SSH密钥(keys)

1.查看本机是否存在SSH keys

~/.ssh目录中。打开【Git Bash】,并运行::

1
cd ~/.ssh

如果本机已经存在ssh公钥和私钥,可以略过这一步,直接进入第二步操作(默认的公钥文件是id_rsa.pub)。当然,建议可以创建一对新的SSH密钥专用一些用来通用。

2.创建新的SSH密钥

1
ssh-keygen -t rsa -C "your_email@example.com"

注意上面的邮箱是自己的邮箱地址,按这个邮箱地址会创建一对密钥。

1
2
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/yourusername/.ssh/id_rsa): [Press enter]

直接回车,会将密钥按默认文件进行存储。
此时提示输入特定的文件名,比如:ubuntu_rsa
(注:建议还是输入特定的名字,不然就是默认的id_rsa文件,如果你有多个SSH需要管理的,就比较麻烦了。当然,你也可以所有的全部用一套,看自己需要吧。)

接着,根据提示,你需要输入密码和确认密码

不想输的话,就都直接回车确认密码。(所谓的最安全的密码,就是没有密码 哈哈)。
相关提示如下:

1
2
Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]

输入密码完成之后,屏幕会显示信息,表示完成了。

然后就可以在目录:C:\Users\yourusername.ssh 中看到有ubuntu_rsa 和 ubuntu_rsa.pub 文件了。
如果没有自定义名字,则会在当前目录下生成 id_rsa.pub(公钥)和 id_rsa(私钥)文件。

3.SSH密钥配置

用记事本程序打开 ~/.ssh 目录(C:\Users\yourusername.ssh)中的config文件。
添加以下内容:

1
2
3
4
5
Host 111.222.333.444
HostName 111.222.333.444
IdentityFile ~/.ssh/ubuntu_rsa
PreferredAuthentications publickey
User ubuntu

Host:站点别名,方便命令行使用
HostName:站点名(服务器ip或域名)
PreferredAuthentications:优先使用公钥连接
IdentityFile:私钥路径

以上ip地址换成你自己服务器的ip地址。

第二步、在服务器上添加公钥

1.创建 ~/.ssh 目录

在服务器中创建.ssh目录,把本机的 ubuntu_rsa.pub 中的文件内容全部添加到 authorized_keys 文件中。(即 ~/.ssh/authorized_keys 文件)

先查看是否已存在~/.ssh目录,不存在则新建.ssh目录:

1
2
3
4
5
cd ~
# 查看是否存在.ssh目录
ls -la
# 若不存在,则新建.ssh目录
mkdir .ssh

2.在.ssh目录下创建authorized_keys文件

为了方便,我也不创建了,直接直接把 ubuntu_rsa.pub 用ftp工具上传,然后移动到 .ssh目录后,重命名为 authorized_keys就行了。并用 chmod修改目录的权限。

1
2
3
4
mv ubuntu_rsa.pub .ssh/authorized_keys

chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

这样就可以了。再用VS Code远程连接服务器就不用每次输入密码啦。

  • 本文标题:VSCode远程连接服务器 免密登录(ssh key)
  • 本文作者:HDUZN
  • 创建时间:2022-07-14 21:40:02
  • 本文链接:http://hduzn.cn/2022/07/14/VSCode远程连接服务器-免密登录/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
 评论