相关文章
前言
-
前面记录了 VS Code 可以通过 SSH 远程连接 ubuntu Linux 主机,比如代码放在远程 ubuntu 主机上, windows 端 VS Code 通过 ssh 远程连接 ubuntu,并打开 远程主机上的 代码
-
如果不设置
authorized_keys
,每次切换目录都需要输入一次密码,比较的麻烦
ssh 生成密钥
-
也就是 VS Code 通过 ssh 远程连接 ubuntu 主机时,不需要再输入 ssh 登录密码
-
首先 当前主机 windows 与 远程主机 ubuntu 上都安装 Git 软件
-
windows 上 打开 git 的 控制台,生成 ssh 密钥,如果使用过 git,应该密钥已经生成过了,不需要再次生成。
-
windows 上生成密钥:
ssh-keygen.exe
,然后一直回车即可生成 -
ubuntu 上 如果 Git 第一次安装,需要生成 ssh 密钥,如果使用过 Git ,应该 ssh 密钥也生成过,就不需要再次生成
-
ubuntu Linux 上生成 ssh 密钥:
ssh-keygen
,然后一直回车即可生成 -
备注: ssh 的密钥默认是 RSA 加密,分为【公钥】与【私钥】
ssh 远程免密登录
- 当前的需求: windows 上 VS Code ssh 远程 免密登录 远程 ubuntu Linux 主机,如打开 ubuntu 上的 软件代码。
操作步骤
-
ubuntu Linux 主机生成 ssh 密钥后,一般存放在
/home/xxx/.ssh
目录下,xxx
使用 ubuntu 登录的用户名,如果没有这个目录,需要确认当前的用户是否 生成过 ssh 密钥 -
在
/home/xxx/.ssh
目录下,创建一个authorized_keys
的文件 -
windows 上,可以打开 git 的 控制台,获取 ssh 的 【公钥】内容,默认存在放在
~/.ssh/id_rsa.pub
-
然后复制 windows 上的
~/.ssh/id_rsa.pub
ssh 公钥内容 到 ubuntu 的/home/xxx/.ssh/authorized_keys
文件中,注意复制的是~/.ssh/id_rsa.pub
文件的内容,不是文件
重启 ssh 服务
sudo service ssh restart
可以重启 ssh 服务,然后 windows 上的 VS Code 可以重新 ssh 连接远程 ubuntu,确认是否每次还需要输入密码
小结
-
本篇注意记录 windows 端 VS Code 远程 ssh 连接 ubuntu 免密码登录的方法,通过在 ubuntu 中创建 ssh
authorized_keys
的方式 -
注意 windows 端 把 ssh 生成的【公钥】文件内容复制到 ubuntu ssh 的
authorized_keys
文件中,不是【私钥】。复制的是文件内容,而不是文件传到 ubuntu 中。 -
ssh 密钥默认为 RSA 加密,【私钥】不要对外公开,可以认为是【密码】,【公钥】可以公开,传到远程的服务器上
-
在 github、gitee 等 代码提交时,可以通过 设置 git ssh 【公钥】,让提交代码时不需要每次都输入用户名与密码
-
windows VS Code 通过 ssh 远程登录到 ubuntu Linux 主机,就可以打开查看 ubuntu 上的代码工程了,比较的方便