SSH 密钥管理工具
创始人
2024-03-02 04:35:14
0

常用开源工具的省时快捷方式。

我经常使用 SSH。我发现自己每天都要登录多个服务器和树莓派(与我位于同一房间,并接入互联网)。我有许多设备需要访问,并且获得访问权限的要求也不同,因此,除了使用各种 ssh / scp 命令选项之外,我还必须维护一个包含所有连接详细信息的配置文件。

随着时间的推移,我发现了一些省时的技巧和工具,你可能也会发现它们有用。

SSH 密钥

SSH 密钥是一种在不使用密码的情况下认证 SSH 连接的方法,可以用来加快访问速度或作为一种安全措施(如果你关闭了密码访问权限并确保仅允许授权的密钥)。要创建 SSH 密钥,请运行以下命令:

$ ssh-keygen

这将在 ~/.ssh/ 中创建一个密钥对(公钥和私钥)。将私钥(id_rsa)保留在 PC 上,切勿共享。你可以与其他人共享公钥(id_rsa.pub)或将其放置在其他服务器上。

ssh-copy-id

如果我在家中或公司工作时使用树莓派,则倾向于将 SSH 设置保留为默认设置,因为我不担心内部信任网络上的安全性,并且通常将 SSH 密钥(公钥)复制到树莓派上,以避免每次都使用密码进行身份验证。为此,我使用 ssh-copy-id 命令将其复制到树莓派。这会自动将你的密钥(公钥)添加到树莓派:

$ ssh-copy-id pi@192.168.1.20

在生产服务器上,我倾向于关闭密码身份验证,仅允许授权的 SSH 密钥登录。

ssh-import-id

另一个类似的工具是 ssh-import-id。你可以使用此方法通过从 GitHub 导入密钥来授予你自己(或其他人)对计算机或服务器的访问权限。例如,我已经在我的 GitHub 帐户中注册了各个 SSH 密钥,因此无需密码即可推送到 GitHub。这些公钥是有效的,因此 ssh-import-id 可以使用它们在我的任何计算机上授权我:

$ ssh-import-id gh:bennuttall

我还可以使用它来授予其他人访问服务器的权限,而无需询问他们的密钥:

$ ssh-import-id gh:waveform80

storm

我还使用了名为 Storm 的工具,该工具可帮助你将 SSH 连接添加到 SSH 配置中,因此你不必记住这些连接细节信息。你可以使用 pip 安装它:

$ sudo pip3 install stormssh

然后,你可以使用以下命令将 SSH 连接信息添加到配置中:

$ storm add pi3 pi@192.168.1.20

然后,你可以只使用 ssh pi3 来获得访问权限。类似的还有 scp file.txt pi3:sshfs pi pi3:

你还可以使用更多的 SSH 选项,例如端口号:

$ storm add pi3 pi@192.168.1.20:2000

你可以参考 Storm 的文档轻松列出、搜索和编辑已保存的连接。Storm 实际所做的只是管理 SSH 配置文件 ~/.ssh/config 中的项目。一旦了解了它们是如何存储的,你就可以选择手动编辑它们。配置中的示例连接如下所示:

Host pi3
   user pi
   hostname 192.168.1.20
   port 22

结论

从树莓派到大型的云基础设施,SSH 是系统管理的重要工具。熟悉密钥管理会很方便。你还有其他 SSH 技巧要添加吗?我希望你在评论中分享他们。


via: https://opensource.com/article/20/2/ssh-tools

作者:Ben Nuttall 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

SSH

相关内容

ssh 登录超时 expe...
ssh -p 22 root@192.168.1.1 -v...
2025-05-29 15:17:15
添加已有的PublicKe...
mkdir -p ~/.ssh/ To overwrite aut...
2025-05-29 06:01:59
不需要SSH连接远程Mon...
要不需要SSH连接远程MongoDB服务器,可以使用以下方法之一:...
2025-01-10 15:00:48
不同操作系统的客户端与SS...
不同操作系统的客户端与SSH服务器的行为不同:分段错误可能是由于操...
2025-01-08 09:00:54
不使用添加的SSH密钥在n...
在nushell中使用Git时,如果你没有使用添加SSH密钥的权限...
2024-12-29 11:30:55
不使用SSH从远程机器触发...
要从远程机器触发一个Python脚本,而不使用SSH,可以使用以下...
2024-12-29 10:31:02

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...