ubuntu 20.04 设置 authorized_keys 让 VS Code ssh 远程免密连接

相关文章

前言

  • 前面记录了 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 上的代码工程了,比较的方便

相关推荐
hunter2062062 小时前
ubuntu向一个pc主机通过web发送数据,pc端通过工具直接查看收到的数据
linux·前端·ubuntu
不会飞的小龙人2 小时前
Docker Compose创建镜像服务
linux·运维·docker·容器·镜像
不会飞的小龙人2 小时前
Docker基础安装与使用
linux·运维·docker·容器
张3蜂3 小时前
docker Ubuntu实战
数据库·ubuntu·docker
白粥行4 小时前
linux-ubuntu学习笔记碎记
linux·ubuntu
jerry-894 小时前
通过配置核查,CentOS操作系统当前无多余的、过期的账户;但CentOS操作系统存在共享账户r***t
linux
涛ing5 小时前
21. C语言 `typedef`:类型重命名
linux·c语言·开发语言·c++·vscode·算法·visual studio
0xfather5 小时前
在Debian系统中安装Debian(Linux版PE装机)
linux·服务器·debian
workingman_li5 小时前
centos虚拟机异常关闭,导致数据出现问题
linux·运维·centos
Fireworkitte6 小时前
linux环境变量配置文件区别 /etc/profile和~/.bash_profile
linux