其他
AWS秘籍 | 基于AWS平台跳板机配置
为达到更好的安全性,需要进行恰当的规划,通常可以考虑以下几个问题:1. 跳板机应该放置在哪个子网?2. 如何安全访问跳板机?3. 跳板机如何安全访问受管理服务器?
以下是结合这些问题基于AWS部署Linux跳板机相关步骤。
根据以上描述不同子网的特点,我们需要把跳板机放置在公有子网中,以便接受管理人员通过Internet的访问,受管理的服务器根据其在业务系统中充当的角色选择放置在公有子网或私有子网。在实际生产环境中根据需要可为跳板机设置一个独立的公有子网 。
如下图所示的VPC规划中,为跳板机实例划分了一个专用的公有子网,管理员可以通过登录到跳板机对放置在私有子网的服务器的管理:
在实际部署中考虑到跳板机所需的工作负载,可以部署配置较低的实例类型。此外,出于成本和安全考虑,您也可以在不进行运维操作的时候将跳板机状态设置为“停止”,在每次运维需要的时候再“开启”跳板机。
为跳板机实例配置安全组。在创建EC2的过程中,在安全组规则中添加SSH服务的安全规则,根据实际情况限定连接的源IP地址。如下图所示,只接受特定的管理终端连接:
步骤二:将跳板机和受管理服务器对应证书的私钥依次添加到管理终端,执行方式如下(例如,私钥文件名称为xxx.pem):SSH -Add xxx.pem
步骤三:使用SSH -A参数登录跳板机,-A表示通过跳板机转发本地管理端保存的私钥信息,实现跳板机与受管理服务器之间的身份验证:SSH -A EC2 -User@跳板机公网IP地址--(以下假定Linux SSH用户名为EC2 -User)
步骤四:从跳板机直接通过受管理服务器的内网IP SSH登录服务器:SSH EC2 -User@受管理服务器的内网IP地址
· 在Windows环境下通过Putty从跳板机登陆到受管理的服务器:下载Putty客户端,并且通过Puttygen将私有证书生成ppk格式。
下载Putty环境下的SSH Agent----Pageant
步骤一:将受管理服务器及跳板机所对应证书的私钥添加进Pageant
启动Pageant并右击图标,您可以先查看Key List,如果受访问服务器所需私钥没有添加进Key List里,则执行“Add Key”的操作。并将保存在本地的私钥添加进去。
在这一步中,如图填写跳板机公有IP地址,并在左侧SSH -Auth目录下勾选“Allow agent forwarding”来允许跳板机上的SSH客户端与管理终端本地的SSH -Agent通信并使用管理终端本地的密钥完成与受管理服务器的SSH认证流程。下面以AWS上的一台EC2为例登陆跳板机:
通过命令“SSH EC2 -User@受管理服务器内网IP地址”来实现对受管理服务器的访问,需要注意的是,在这里输入受管理服务器的私有IP地址实现对其的访问,提高了受管理服务器的安全性。
这样,您便实现了从跳板机上登陆受管理服务器的操作。
实现以上效果,可以执行以下脚本,请根据实际环境替换安全组ID。
执行脚本登录前,将跳板机安全组中的SSH服务规则删除,即无法访问TCP 22端口:
进入Console里面VPC下的“Peering Connections”页面,新建“VPC Peering Connection”。在这里您需要提供跳板机以及受管理服务器所在VPC的ID,点击“Create VPC Peering Connection”。
同理,在配置受访服务器所在VPC的路由表信息时,您只需将本地VPC的CIDR作为Destination。