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

相关推荐
烟雨迷7 分钟前
Linux环境基础开发工具的使用(yum、vim、gcc、g++、gdb、make/Makefile)
linux·服务器·学习·编辑器·vim
Bruk.Liu38 分钟前
Linux 上安装RabbitMQ
linux·服务器·rabbitmq
UpUpUp……1 小时前
Linux--JsonCpp
linux·运维·服务器·c++·笔记·json
Willis_m1 小时前
Linux 服务器用 SSH 拉取多个 Git 工程
linux·服务器·git·ssh
紫金修道1 小时前
【Linux】在Arm服务器源码编译onnxruntime-gpu的whl
linux·服务器·arm开发
xq5148633 小时前
Linux系统下安装mongodb
linux·mongodb
柒七爱吃麻辣烫3 小时前
在Linux中安装JDK并且搭建Java环境
java·linux·开发语言
孤寂大仙v4 小时前
【Linux笔记】——进程信号的产生
linux·服务器·笔记
深海蜗牛4 小时前
Jenkins linux安装
linux·jenkins
愚戏师4 小时前
Linux复习笔记(三) 网络服务配置(web)
linux·运维·笔记