您当前的位置:首页 > 电脑百科 > 软件技术 > 软件技术

SSH 多密钥配置

时间:2022-07-11 09:49:21  来源:  作者:程序那点事

前言

当我们从 GitHub 克隆某个仓库时,往往使用 HTTPS 协议,除此之外,也可以使用 SSH 协议;当我们的客户机与远端服务器连接时,更加离不开 SSH 协议。如果我们需要连接多个远程终端,那么合理配置多个 SSH 密钥就显得很有必要。


一、SSH 是什么

SSH 全称为:Secure Shell,是一种加密的网络传输协议,通过在网络中创建安全隧道来实现客户端与服务器之间的连接。SSH 在 数据传输 时基本上都采用对称加密方式,但是在进行 身份验证 时却需要采用非对称加密的形式,也就是 公钥—私钥对 的形式。

二、密钥生成工具

生成 SSH 密钥对需要使用 ssh-keygen,如今的主流操作系统 windowslinuxmacOS 等往往事先已经安装好了。

三、密钥类型

SSH 生成密钥对时可以使用多种加密算法,这些加密算法生成的最常用的密钥类型是 rsa 和 ed25519。

  • rsa:最常用的公钥加密算法,使用极其广泛,并且支持较好。密钥位数越多,安全性越好,但是性能会有所降低,常见的有 RSA 2048 和 RSA 4096 等。
  • ed25519:椭圆曲线算法生成的密钥,密钥长度短,安全可靠并且具有高性能。它的安全性在 RSA 2048 与 RSA 4096 之间,但是性能却在数十倍以上。(推荐使用

ed25519 需要 OpenSSH 版本大于 6.5(2014 年的古老版本),应该不会有人的客户端和服务器不满足吧(不会吧不会吧!)

四、本地配置

ssh-keygen 生成的密钥对默认存储于家目录(Windows 的 C:Usersxxx,Linux/macOS 的 ~)的 .ssh 文件夹中

1.单密钥配置

使用 ssh-keygen 命令选择一种密钥类型来创建

# 生成 RSA 2048 密钥ssh-keygen -t rsa -b 2048 -C "your@email.com" # 生成 RSA 4096 密钥ssh-keygen -t rsa -b 4096 -C "your@email.com" # 生成 ed25519 密钥ssh-keygen -t ed25519 -C "your@email.com"
  • -t:选择生成密钥的类型
  • -b:设置密钥位数
  • -C:密钥注释,这里要改为你自己的邮箱地址

执行以上命令后,会提示你设置密钥存储路径,按 Enter 默认即可。

然后会提示你设置密码,根据需要自行选择设不设置(不设置按 Enter 即可,已经非对称加密过,不设置也问题不大;设置的话安全性会提高,但是每次连接时需要输入密码,会麻烦一点)。

以生成密钥 ed25519 为例,操作完后会在家目录的 .ssh 文件夹中生成私钥 id_ed25519 和公钥 id_ed25519.pub 两个文件。

权限设置

在 Linux 中,还需要设置私钥文件的权限才可使用:

chmod 600 ~/.ssh/id_ed25519

2.多密钥配置

如果你同时使用 GitHub、Gitee 和 阿里云,都需要设置 SSH 密钥,可以将常用 SSH 登陆信息写进全局配置文件

打开终端,输入

# 创建 .ssh 文件夹mkdir -p ~/.ssh # 进入 .ssh 文件夹cd ~/.ssh

以下介绍以生成 ed25519 密钥为例:

# 生成 GitHub 密钥ssh-keygen -t ed25519 -f github_ed25519  -C "your@email.com" # 生成 Gitee 密钥ssh-keygen -t ed25519 -f gitee_ed25519  -C "your@email.com" # 生成 阿里云 密钥ssh-keygen -t ed25519 -f aliyun_ed25519  -C "your@email.com"
  • -f:生成密钥的名称,可自行修改

在 .ssh 文件夹下创建 config 文件(~/.ssh/config)

# ------------ 配置说明(始) ------------ # Host:别名,HostName:服务器域名或 IP 地址# User:用户名# 例:在 git clone git@github.com:torvalds/linux.git 中# User 是 git,Host 是 github.com# IdentityFile:私钥路径 # ------------ 配置说明(末) ------------  # ------------ 具体配置(始) ------------ # GitHub 密钥Host github.comHostName github.comUser gitPreferredAuthentications publickeyIdentityFile ~/.ssh/github_ed25519 # GiteeHost gitee.comHostName gitee.comUser gitPreferredAuthentications publickeyIdentityFile ~/.ssh/gitee_ed25519 # AliyunHost my_aliyunHostName xxx.xxx.xxx.xxxUser xxxPort 22PreferredAuthentications publickeyIdentityFile ~/.ssh/aliyun_ed25519 # ------------ 具体配置(末) ------------折叠 

权限设置

在 Linux 中,配置文件 config 和私钥文件的权限都需要设置才可使用:

chmod 600 config github_ed25519 gitee_ed25519 aliyun_ed25519

五、远端配置

1.GitHub/Gitee

登陆 GitHub,依次打开 Settings => SSH and GPG keys => New SSH key

然后将公钥(切记是公钥)内容粘贴过去

最后,使用 ssh 命令测试与 GitHub 的连接

ssh -T git@github.com

提示时输入 yes 即可,如果出错,可以在 -T 后面加上 -v 参数查看具体错误信息

Gitee 和 GitHub 添加方法类似,不做赘述

2.服务器

在服务器系统中找到 ~/.ssh/authorized_keys 文件(没有则创建),另起一行,将本地公钥(切记是公钥)内容粘贴过去,并设置权限:

chmod 600 ~/.ssh/authorized_keys

测试连接,以 多密钥配置 中 阿里云 为例:

# 使用 Host 别名ssh my_aliyun # 不使用 Host 别名ssh xxx@xxx.xxx.xxx.xxx

来源:
https://www.cnblogs.com/oranhext/p/ssh-keys-config.html



Tags:SSH   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
备份/etc/ssh目录# cp -rp /etc/ssh /etc/ssh.bak必要软件的安装# yum install gcc zlib zlib-devel openssl-devel查看当前OpenSSH版本# SSH -V 下载OpenSSH新版本https:/...【详细内容】
2022-09-25  Tags: SSH  点击:(62)  评论:(0)  加入收藏
最近新发现的免费MAC站macbv 站推荐(comTermius Mac激,支持ECDSA和ed25519密钥以及chacha20-poly1305密码,12种色彩鲜艳主题与可调节字体制作,并适用于所有主要的移动和桌面系统...【详细内容】
2022-09-06  Tags: SSH  点击:(56)  评论:(0)  加入收藏
1介绍WindTerm一款使用使用C语言开发的跨平台SSH客户端WindTerm,完全免费用于商业和非商业用途,没有限制。所有发布的源代码(第三方目录除外)均在 Apache-2.0 许可条款下提供。...【详细内容】
2022-08-22  Tags: SSH  点击:(67)  评论:(0)  加入收藏
一、背景之前待的几个公司,数据库、服务器权限都是给所有后端直接拉满的,但也会出现员工离职的情况,每次有人离职时都需要改数据库密码、服务器密码。每次密码修改后得告知所有...【详细内容】
2022-08-09  Tags: SSH  点击:(75)  评论:(0)  加入收藏
expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预(如:借助Expect处理交互的命令,可以将交互过程:ssh登录,ftp登录等写在一个脚本上,使之自动化完成...【详细内容】
2022-08-07  Tags: SSH  点击:(93)  评论:(0)  加入收藏
漏洞安全对使用的软件扫描漏洞,都是依据软件的版本号探测的,直接升级软件风险太大,因此规避风险,修改软件版本号实现其目的!注意:操作前记得多开一个窗口用top挂起,修改失败可能会...【详细内容】
2022-07-29  Tags: SSH  点击:(194)  评论:(0)  加入收藏
一般较新的Mac设备默认都会预装SSH,不过SSH守护进程默认是关闭禁用的,那么如何开启它呢,下面就来讲一讲。一、介绍SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Worki...【详细内容】
2022-07-25  Tags: SSH  点击:(101)  评论:(0)  加入收藏
ssh# p 是小写ssh -p 22 user@hostsftp# 连接sftp -P 22 root@host# 将文件上传到服务器上:put [本地文件的地址] [服务器上文件存储的位置]# 将服务器上的文件下载到本地:get...【详细内容】
2022-07-21  Tags: SSH  点击:(128)  评论:(0)  加入收藏
SSH 是一种广泛使用的协议,用于安全地访问 Linux 服务器。大多数用户使用默认设置的 SSH 连接来连接到远程服务器。但是,不安全的默认配置也会带来各种安全风险。具有开放 SSH...【详细内容】
2022-07-13  Tags: SSH  点击:(76)  评论:(0)  加入收藏
1. 安装telnetyum -y install xinetd telnet-server配置/etc/xinetd.d/telnetcat > /etc/xinetd.d/telnet <<EOFservice telnet{disable = yesflags = REUSEsocket_type = s...【详细内容】
2022-07-11  Tags: SSH  点击:(178)  评论:(0)  加入收藏
▌简易百科推荐
不知道大家有没有遇到这种情况,新购买的笔记本电脑只有一个C盘,没有其他的分区。也就是说打开此电脑图标显示的分区只有一个C盘。那么遇到这种情况应该怎样处理呢?如果没有其他...【详细内容】
2022-11-04  嘻呱互联   网易号  Tags:分区   点击:(3)  评论:(0)  加入收藏
背景由于公司项目需要用到全文搜索这个功能,而且要求轻量级,不能用复杂的ES,于是在网上搜索资料。一次偶然机会,发现了一个名字特别显眼的搜索引擎&mdash;&mdash;MeiliSearch!Mei...【详细内容】
2022-11-03  博读代码  今日头条  Tags:MeiliSearch   点击:(11)  评论:(0)  加入收藏
CAD设计图纸对于设计行业、网站建设、房地产行业、制造建筑行业以及工业设计等行业来说可谓是一种日常使用的办公软件,也是不可缺少的办公工具软件!作为一款不可缺少的设计工...【详细内容】
2022-11-02  sesoffice    Tags:加密   点击:(2)  评论:(0)  加入收藏
谷歌工程师近日向 Chromium 提交补丁,表示准备在 Chrome 110 中移除对 JPEG-XL 图像格式的实验性支持。许多人对 Chrome 的这个决定感到不解,因为 JPEG-XL 在其生命周期中还非...【详细内容】
2022-11-01  开源中国OSC  今日头条  Tags: Chrome   点击:(5)  评论:(0)  加入收藏
百度上的方法基本都是重复的,除了浪费时间,一点作用都没有。突然想到换成必应搜索,果然在微软网站上有解决方案(为什么百度搜不出来?!)。图二第三条下载专用升级工具搞定了。微软的...【详细内容】
2022-11-01  怒风之舞  今日头条  Tags:0x800f081f   点击:(12)  评论:(0)  加入收藏
CAD图纸怎么才能够打印出来?大家在把CAD图纸设计好了之后往往需要把它打印出来以供查阅,对于CAD文件特别多的人来说,光把一个个文件打印出来就已经很耗费时间了,我们需要尽量去...【详细内容】
2022-11-01  阿宇爱美食   今日头条  Tags:CAD   点击:(9)  评论:(0)  加入收藏
亲们想知道3Ds MAX曲面生成条带状网格效果的操作吗?下面就是小编整理3Ds MAX曲面生成条带状网格效果的详细步骤,赶紧来看看吧,希望能帮助到大家哦!3Ds MAX曲面生成条带状网格...【详细内容】
2022-11-01  图灵教程分享   网易号  Tags:3Ds MAX   点击:(11)  评论:(0)  加入收藏
GIF动图是很常用的图片格式了,经常使用动图的朋友们肯定都知道,GIF动图的体积都比较大,不仅占据内存还不方便传输。这时候只需要使用一款专业的GIF压缩(https://www.gif5.net/)工...【详细内容】
2022-10-31  豆丁  搜狐号  Tags:压缩   点击:(12)  评论:(0)  加入收藏
Office Visio是office软件系列中的负责绘制流程图和示意图的软件,是一款便于IT和商务人员就复杂信息、系统和流程进行可视化处理、分析和交流的软件。使用具有专业外观的 Off...【详细内容】
2022-10-30  默默软件安装  搜狐号  Tags:Visio   点击:(17)  评论:(0)  加入收藏
大家好,这期教大家一条很少人知道的指令,有了这个指令,你想隐藏什么文件,电脑高手也发现不了!我们平常隐藏文件夹,一般都是右击文件夹,点击属性,选择隐藏。 这样虽然可以隐藏文件夹,...【详细内容】
2022-10-29  CG电脑说  今日头条  Tags:文件夹   点击:(10)  评论:(0)  加入收藏
站内最新
站内热门
站内头条