学习是一个逐步发现自己无知的过程!

Linux 多密钥管理 Mac管理多密钥

前言

在现代的生产环境中,安全性是至关重要的一个环节。传统的密码管理方式已经难以满足当前复杂系统的需求,尤其是在服务数量众多的情况下。为了增强系统安全性和简化管理过程,密钥管理(Key Management)成为了一种必要的解决方案。本文将探讨如何通过有效的密钥管理来解决服务众多带来的密钥管理问题。

使用场景

  1. A项目的10台服务器:A项目需要在10台服务器上进行管理和部署。每台服务器都需要使用密钥来进行安全认证和数据加密,以确保服务器之间的通信安全且可靠。

  2. B项目的Git仓库:B项目使用Git进行版本控制,开发人员需要使用密钥来访问和操作Git仓库。这不仅保护了代码库的安全,还确保了只有授权用户才能进行代码的拉取和推送操作。

  3. C项目的运维中间件:C项目中使用了多个运维中间件,这些中间件需要通过密钥来进行认证和授权,从而实现对各种运维任务的自动化管理和执行。

    当管理人员同时拥有所有权限,并且每个项目中的密钥也不一样,这时候密钥管理与设备之间的登陆会有一定的困扰。

    为安全起见避免使用第三方工具、以及破解工具,这里选用默认系统工具。

配置并管理密钥

生成多个 SSH 密钥对

为不同的主机生成不同的 SSH 密钥对。假设你需要访问两台主机 host1 和 host2,你可以分别生成两个密钥对:

ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_host1
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_host2

将公钥添加到各个主机

将生成的公钥文件内容添加到目标主机的 ~/.ssh/authorized_keys 文件中

ssh-copy-id -i ~/.ssh/id_rsa_host1.pub user@host1
ssh-copy-id -i ~/.ssh/id_rsa_host2.pub user@host2

配置 SSH 配置文件

编辑或创建 ~/.ssh/config 文件,用于管理不同的主机和对应的密钥

touch ~/.ssh/config

添加如下内容、注意缩进

# Configuration for host1
Host host1
  HostName host1.example.com
  User your_username
  IdentityFile ~/.ssh/id_rsa_host1

# Configuration for host2
Host host2
  HostName host2.example.com
  User your_username
  IdentityFile ~/.ssh/id_rsa_host2

将密钥添加到 SSH 代理中

临时配置、重启需重新添加

ssh-add ~/.ssh/id_rsa_host1
ssh-add ~/.ssh/id_rsa_host2

系统重启后,Keychain 将自动重新加载这些私钥,无需用户再次手动添加

ssh-add -K ~/.ssh/id_rsa_host1
ssh-add -K ~/.ssh/id_rsa_host2

测试连接

ssh host1
ssh host2
赞(0)
未经允许不得转载:劉大帥 » Linux 多密钥管理

你的评论可能会一针见血! 抢沙发

登录

找回密码

注册