前言
在现代的生产环境中,安全性是至关重要的一个环节。传统的密码管理方式已经难以满足当前复杂系统的需求,尤其是在服务数量众多的情况下。为了增强系统安全性和简化管理过程,密钥管理(Key Management)成为了一种必要的解决方案。本文将探讨如何通过有效的密钥管理来解决服务众多带来的密钥管理问题。
使用场景
-
A项目的10台服务器:A项目需要在10台服务器上进行管理和部署。每台服务器都需要使用密钥来进行安全认证和数据加密,以确保服务器之间的通信安全且可靠。
-
B项目的Git仓库:B项目使用Git进行版本控制,开发人员需要使用密钥来访问和操作Git仓库。这不仅保护了代码库的安全,还确保了只有授权用户才能进行代码的拉取和推送操作。
-
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
最新评论
# 这只是一个创建远程登录并授权的语句、仅作为记录 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Fit2cloud!' WITH GRANT OPTION;
当MGR集群初始化结束后,需要开启MGR集群自启动(需要有一台节点是自动开启引导) loose-group_replication_start_on_boot = ON #设置节点是否在启动时自动启动 MGR 集群 loose-group_replication_bootstrap_group = ON #设置节点是否作为初始引导节点启动集群
密码:blog.sirliu.com
本内容密码:blog.sirliu.com 最新整理的文章在这里喔:https://blog.sirliu.com/2018/11/shell_lian_xi_ti.html