VS Code远程连接服务器,就可以直接编辑服务器(Linux)上的文件了,进行开发等,就比较方便了。用VS Code也很简单,直接安装一个 Remote - SSH 的扩展插件就可以了。
第一次添加登录的时候用 ssh username@hostip -A
登录,比如用户名ubuntu,服务器ip是111.222.333.444,那就是ssh [email protected]
。
然后输入密码就能登录了。
但是,每次登录都需要输入密码。我们就可以用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 "[email protected]" |
注意上面的邮箱是自己的邮箱地址,按这个邮箱地址会创建一对密钥。
1 | Generating public/private rsa key pair. |
直接回车,会将密钥按默认文件进行存储。
此时提示输入特定的文件名,比如:ubuntu_rsa
(注:建议还是输入特定的名字,不然就是默认的id_rsa文件,如果你有多个SSH需要管理的,就比较麻烦了。当然,你也可以所有的全部用一套,看自己需要吧。)
接着,根据提示,你需要输入密码和确认密码
不想输的话,就都直接回车确认密码。(所谓的最安全的密码,就是没有密码 哈哈)。
相关提示如下:
1 | Enter passphrase (empty for no passphrase): [Type a passphrase] |
输入密码完成之后,屏幕会显示信息,表示完成了。
然后就可以在目录:C:\Users\yourusername.ssh 中看到有ubuntu_rsa 和 ubuntu_rsa.pub 文件了。
如果没有自定义名字,则会在当前目录下生成 id_rsa.pub(公钥)和 id_rsa(私钥)文件。
3.SSH密钥配置
用记事本程序打开 ~/.ssh
目录(C:\Users\yourusername.ssh)中的config文件。
添加以下内容:
1 | Host 111.222.333.444 |
Host:站点别名,方便命令行使用
HostName:站点名(服务器ip或域名)
PreferredAuthentications:优先使用公钥连接
IdentityFile:私钥路径
以上ip地址换成你自己服务器的ip地址。
第二步、在服务器上添加公钥
1.创建 ~/.ssh 目录
在服务器中创建.ssh目录,把本机的 ubuntu_rsa.pub 中的文件内容全部添加到 authorized_keys 文件中。(即 ~/.ssh/authorized_keys
文件)
先查看是否已存在~/.ssh
目录,不存在则新建.ssh目录:
1 | cd ~ |
2.在.ssh目录下创建authorized_keys文件
为了方便,我也不创建了,直接直接把 ubuntu_rsa.pub 用ftp工具上传,然后移动到 .ssh目录后,重命名为 authorized_keys就行了。并用 chmod修改目录的权限。
1 | mv ubuntu_rsa.pub .ssh/authorized_keys |
这样就可以了。再用VS Code远程连接服务器就不用每次输入密码啦。
- 本文标题:VSCode远程连接服务器 免密登录(ssh key)
- 本文作者:HDUZN
- 创建时间:2022-07-14 21:40:02
- 本文链接:http://hduzn.cn/2022/07/14/VSCode远程连接服务器-免密登录/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!