如果禁止用户使用 ssh 跳转登录?

2020-03-19 16:36:39 +08:00
 DnC

需求是这样的,我们雇佣了几个外包人力 (A)。
他们需要 ssh 登录我们特定的一台 ubuntu server (B)。
但是不想让他们通过(B)跳转登录到我们其他的 server。

整理需求:
在 ubuntu server 上创建一个 account,
允许该 account 从其他机器上远程 ssh 登录;
但不允许该 account 使用 ssh-client 登录到其他 server ;

3025 次点击
所在节点    Ubuntu
13 条回复
harde
2020-03-19 16:50:16 +08:00
不是很明白,难道你们局域网其他 Servrer 账号密码都给外包了?
cev2
2020-03-19 16:56:09 +08:00
你们内网所有服务器都是相同的密码?
密码不同的话为什么担心登录。
DnC
2020-03-19 17:02:36 +08:00
@harde #1 @cev2
理论上来说,所有的 server 都设置有访问密码,是不存在风险的。
但是公司的 INFRA 部门,给外包机器设置了特殊的网段,他们网段和我们的机器网段,在交换机中设置了访问阻断策略。
从根本上规避了任何访问的可能性。
PS,他们访问 Server B,是在交换机中设置了例外。
DnC
2020-03-19 17:03:45 +08:00
即,这个问题是为了说服 INFRA,允许给他们开通 22 端口的 ssh 访问权限。
pmispig
2020-03-19 17:52:56 +08:00
只能从网络这边操作了,禁止这台服务器访问其他 IP 的 ssh 端口。
dorentus
2020-03-19 17:55:16 +08:00
iptables 有 —uid-owner 和 --gid-owner 参数,可以匹配特定用户 /组,说不定能满足你的需求
lewis89
2020-03-19 18:58:34 +08:00
@dorentus #6 老哥稳,我刚好想到这个,确实可以 ,我以前用过
lewis89
2020-03-19 18:59:21 +08:00
@dorentus #6 另外这个要装模块吧,然后用户权限要限制好
xingheng
2020-03-20 02:25:46 +08:00
请教:不是很理解“通过(B)跳转登录到我们其他的 server”要如何操作,是在 B 机器里直接存入了 ssh keys 还是担心别人通过 ssh 密码爆破?
dendi009
2020-03-20 02:34:59 +08:00
在 B 机器上执行, chmod 750 /usr/bin/ssh , 试试. 对一般菜, 这个就能实现了.
如果 account 是 root 属组, 换成 chmod 700 /usr/bin/ssh
方法很多吧, 没有绝对的安全.
doveyoung
2020-03-20 09:49:47 +08:00
@xingheng #9 同样不理解,serverB 没有登陆其他 server 的 key,如何登陆。也可以用 jumpserver 之类的堡垒机控制
DnC
2020-03-20 11:55:31 +08:00
@doveyoung #11 源头上规避可能存在的风险。
理论上,你没办法保证除了 B 之外的所有 server,都有健全的安全策略来防止 hijack 登录。

就好比,个人丢了身份证,肯定第一时间去挂失和担心被人冒用的风险。
而不会完全依赖于 身份证+人脸识别 这种机制保证安全。
例子不太恰当,大概是这么个意思。
BOYPT
2020-03-20 16:54:55 +08:00
直接弄个 JumpServer 做账户权限控制吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/654302

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX