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

相关推荐
用户6135411460169 分钟前
xampplinux_v174beta11在 Linux 下的安装与配置步骤
linux
Byron Loong15 分钟前
【系统】Mac系统和Linux 指令对比
linux·macos·策略模式
markvivv40 分钟前
在 Kylin Linux Advanced Server for Kunpeng V10 上构建 VSCode 1.106
linux·vscode·kylin
看见繁华1 小时前
Linux 交叉编译实践笔记
linux·运维·笔记
tianyuanwo1 小时前
深入解析CentOS 8网络配置:NetworkManager DNS管理机制与网卡类型深度剖析
linux·网络·centos
tianyuanwo1 小时前
深入解析CentOS 8中NetworkManager重启后DNS配置被覆盖的机制与解决方案
linux·运维·centos·dns
Dragon~Snow1 小时前
Linux-centOS Stream 9 系统 mysql-8.4.7 RPM版本
linux·mysql·centos
秋风未动蝉已先觉1 小时前
CentOs服务器 systemctl执行权限授权给普通权限work用户
linux·服务器
程序员zgh1 小时前
Linux 系统调用
linux·运维·服务器·c语言·c++·系统安全
Stuomasi_xiaoxin1 小时前
ROS2介绍,及ubuntu22.04 安装ROS 2部署使用!
linux·人工智能·深度学习·ubuntu