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

相关推荐
代码程序猿RIP15 分钟前
【Linux】线程封装
linux·jvm·c++
xxy.c22 分钟前
嵌入式解谜日志—多路I/O复用
linux·运维·c语言·开发语言·前端
倔强的石头10633 分钟前
Linux服务器暴走,用Netdata+cpolar轻松驯化
linux·运维·服务器
坠金43 分钟前
CentOS安装或升级protoc
linux·c语言·开发语言
GoodG_study1 小时前
windows通过xrdp远程连接Ubuntu黑屏问题解决
linux·ubuntu
敲上瘾1 小时前
Docker 容器核心指令与数据库容器化实践
linux·运维·服务器·docker·容器·eureka·dubbo
luckysusu1111 小时前
LINUX-网络编程-TCP-UDP
linux·运维·服务器
qinyia1 小时前
Wisdom SSH 是一款集成了强大 AI 助手功能的 SSH 工具,助你高效管理服务器。
服务器·人工智能·ssh
Kira Skyler2 小时前
抓虫:sw架构防火墙服务启动失败 Unable to initialize Netlink socket: 不支持的协议
java·linux
一张假钞2 小时前
Windows 11主机Ubuntu 24.04虚机共享目录权限问题
linux·运维·ubuntu