记录下在新公司申请服务器权限过程

2021/09/05

前言

看过我往期文章都知道我连接远程服务器都不喜欢使用第三方客户端,比较青睐mac自带的终端。因为只要配置好鉴权的公钥到远程服务器上就可以很方便的通过ssh xxx,在我上家公司登录服务器都是采用密钥登录的,禁止密码登录的。但是因为开发运维一体,所以部门的整个生产环境和数据集群都是我在管理,机器上配置公钥都是我来自己完成的。

新入职的公司,整个技术体系更加完善,我们有专门的运维团队,自然不会让你自己上机子配你的公钥。这样把权限密码完全隔离,linux上面账号登陆记录也可进行追溯,离职后也无法再访问。因为运维团队不会让你直接root登陆,所以流程上稍稍有一点不同,配置也有一些繁琐,但是原理都是一致的,特意记录一下。

流程

先介绍一下整个流程

  1. 使用员工账号去内网SSO(我司内部服务器权限申请平台),SSO上给你生成了唯一公钥和唯一私钥,并且私钥设置了二次加密。

  2. 然后你申请要授权的服务器,通过以后运维同事会在对应机子上开你的用户名,把sso生成的公钥放到对应你的账户authorized_keys下,通过以后应该都是使用脚本完成的(猜测)。

  3. 然后此时你有了访问该服务器的权限,只需要你配置一下访问端的环境就可以直接上去。

    image-20210905232540664

我司内部申请服务器平台个人页面


运维同事只要给你开了账号,在服务器上帮你配置了公钥(因为公钥是SSO生成的,所以可以直接拿到),正因为公钥和私钥都是SSO生成的,所以你需要把私钥放到你电脑(登陆端,默认以mac为例)上(一般下载再下来是你的员工名字,这里我脱敏改名成othersKey),最简单的方法肯定是下载下来的私钥改成成id_rsa然后放到~/.ssh下面。因为这是系统默认的私钥,每次连接系统系统默认会使用这个。这个一般都是通过ssh-genkey来生成的,你可能已经把它生成的公钥已经配置到其他地方了。

配置

最完美的方案应该是host的链接可以配置指定使用哪个秘钥。在原来快速链接介绍过etc/ssh/ssh_config里面可以配置快速连接,其实这下面还有一个参数IdentityFile可以指定这个连接选择的私钥,例如:

# 你想要ssh xxx的这个xxx名字,理论上好记就行
Host nikeName
# 你服务器的host
HostName 172.0.0.1
# 你默认登陆的用户名
User root
# 指定私钥地址,默认是~/.ssh/id_rsa
IdentityFile ~/.ssh/othersKey
# 下面详解
ForwardAgent yes 

上面配置中还有一个新的属性ForwardAgent这个是我建议写上去的,因为不同公司可能环境不一样,大部分公司都会有堡垒机,相当于你ssh的服务器其实不是最终服务器。因此,运维需要做的是把公钥存储在堡垒机和最终服务器上,同时还需要把私钥分别存储在你电脑和堡垒机上。如此一来你的私钥就被存储在了一个本地之外的位置,尽管堡垒机肯定是有相应访问策略的,还是存在很大的安全隐患。如果你的堡垒被攻破了,剩下的远程服务器那就只能眼睁睁地等待被搞了(这也是为什么私钥一般会设置密码的原因,即便是私钥别人拿了密码不知道的话也很难进行下一步)。如果开启了ForwardAgent则只需要把公钥储存在堡垒机和目标服务器上,因为公钥只是做解密所以即便是暴露也ok。

另外还有一点,一般公司生成下发的私钥都是带二次校验密码的,我们ssh-genkey生成秘钥的时候,我都推荐敲两下回车,默认不设置密码。那么使用公司的私钥ssh连接服务器的时候一般会提示Enter passphrase for key ~/.ssh/othersKeyimage-20210905233033506

提示需要验证私钥的密码


然后你需要输入下载私钥的时候页面提供的密码。这是防止你私钥不小心泄漏导致严重后果,可是每次总这样很麻烦,所以我们可以让你的电脑把记住这个密码,以后我们使用私钥的时候就可以免密。使用ssh-add ~/.ssh/othersKey 然后它会让你输入密码,你把页面提供的密码输入进入。以后你再使用这个私钥的时候它就不会向你要密码了(重启失效,解决方法请看这篇)。

image-20210905233359609

这样就配置好了

后言

这样配一下,你就可以ssh xxx到对应配置的机子上了。另外修改etc/ssh/ssh_config配置是我的个人习惯,ssh_config是ssh功能客户端(发起连接方)的配置文件,这个改动以后所有用户都会生效。可能你们公司wiki下会推荐你在~/.ssh/config下配置(如果没有config文件创建就好,文件里面的属性还是一样的写)。但是这个config只会在你登陆的mac账号下生效。大概就酱子……

(转载本站文章请注明作者和出处 没有气的汽水



┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┐
├ 文章已经完啦, 想要第一时间收到文章更新可以关注↓ ┤
└┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┘

Post Directory






下面是评论区,欢迎大家留言探讨或者指出错误哈