最近在使用JumpServer当中遇到一个问题, 在完成对接一些单点登录系统认证后,正常使用效果还是非常不错的,因为公司内部使用的Okta进行的SAML2的认证,也是一次就对接成功了
对接成功之后,从新登陆JumpServer也是可以进行正常的短信验证以及token的验证登陆
网页客户端的效果也都是正常的,但是目前公司内部有一些人员呢他们不想使用,网页客户端登陆,想要使用直接在本地客户端工具直接连接到堡垒机
我的环境中有一个本地的用户一个对接完成认证的用户,我使用本地客户端连接到堡垒机
ssh JumpServerUsername@JumpServerIP -p2222直接就可以通过用户的密码进行连接到堡垒机内部,同时也可以进行审计
但是当我使用Okta 中的Saml2同步的用户,直接使用2222去连接就会造成报错
不管怎么输入密码,就算给了用户管理人员权限也是不行的,一直提示权限问题
其实像这种情况,就是因为像Okta Saml2这些认证方式都是基于浏览器去进行的跳转
他没有办法直接适配到CLI命令行里面,对此我也去Okta官网查了一下,发现他们确实有
这个问题的发生,对此他们也有解决办法,解决办法如下:
因为本人技术能力有限,对于提供的 okta 提供的修改代码方式JumpServer中我实现有点困难,为此可以使用第二种基于JumpServer自身的能力来实现 。
可以基于/opt/jumpserver/config 中加一行,来开启临时密码的权限AUTH_TEMP_TOKEN= True
在配置文件中写入,并重新启动JumpServer
然后再次打开JumpServer中,右上角的信息中,会多出来一个临时密码
我们可以基于这个临时密码去进行像SAML ,OPenid等等用户的命令行登陆
这样的话,就可以使用命令行CLI的方式进行登陆了,不过需要注意的是,这种临时密码的方式,他使用一次他的密码就会过期,或者生成密码五分钟后就会失效。
这样我们基于先进行网页客户端的跳转验证身份登陆到堡垒机内部,如果使用习惯的情况下,在使用对应单点登录用户填写临时账户登陆堡垒机内部