您的位置:首页 > 其它

配置SSH Forward提升安全性

2017-03-22 13:06 176 查看

目标

MacBook ---(SSH)---> BastionServer ---(SSH)---> RemoteServer

说明

BastionServer、RemoteServer SSH端口号均为60666

用户名为thatsit

密钥对在MacBook上生成

问题

首先在此场景里面,为了保障服务器的安全性,我们登录服务器都是采用密钥登录的,禁止密码登录。
因此,如果不启动ssh forward,想要实现上述功能,我们需要做的是把公钥存储在BastionServer和RemoteServer上,同时还需要把私钥分别存储在MacBook和BastionServer上。如此一来你的私钥就被存储在了一个本地之外的位置,尽管BastionServer是有相应访问策略的,还是存在很大的安全隐患。如果你的BastionServer被攻破了,剩下的RemoteServer那就只能眼睁睁地等待被搞了。

思路

而如果使用了SSH Forward的功能,上述问题将迎刃而解~
我们需要把公钥存储在BastionServer、各个RemoteServer上,公钥嘛,无所谓~
至于私钥,只需要存储在你的本地(MacBook)就好了。
除此之外,就是需要简单配置下SSH Forward,分分钟搞定~

开干

一、跳板机ssh相关配置
1,开启ssh forward agent

[thatsit(0)@BastionServer-02 12:19:56 ~]# cat .ssh/config
ForwardAgent yes
[thatsit(0)@BastionServer-02 12:19:59 ~]#


2,指定ssh连接端口为公司常用的ssh端口

[thatsit(0)@BastionServer-02 12:19:59 ~]# grep Port /etc/ssh/ssh_config
#   Port 22
Port 60666
[thatsit(0)@BastionServer-02 12:20:12 ~]#


二、mac上的配置,ssh-add添加下私钥
添加完成之后可以通过 ssh-add -L进行查看

注意:在生成ssh密钥对的时候,一定要加下密码,多一重安全保障。

使用

Step1,从MacBook登录到BastionServer
1,登录跳板机的时候指定-A参数启用SSH Forward即可

ssh -A user@BastionServerIP -p 60666


2,如果不想每次都输入-A参数,我们可以通过以下两种方式来做
①:修改 ~/.ssh/config配置,加上 ForwardAgent yes

Host BastionServerIP
HostName BastionServerIP
ForwardAgent yes


这样就可以使用ssh thatsit@BastionServerIP -p 60666来连接了

②:简单粗暴,配置下alias就好了~哈哈

alias jumper-server-login='ssh -A -p60666 thatsit@BastionServerIP'


Step2,从BastionServer登录到RemoteServer
因为在跳板机上开启了ssh forward agent,并且指定了ssh连接端口为常用的端口号,此外因为ssh登录的时候默认使用的用户名就是当前本地登录的用户名,因此只需要

ssh thatsit@RemoteServer


或者

ssh RemoteServer


即可登录到RemoteServer

==== Done ====
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: