Linux 如何给用户分配临时 ssh 登录权限?

2015-07-27 17:50:33 +08:00
 qw7692336

现在想实现的功能是,通过ssh反向隧道登录用户的机器。
首先用户会向我们服务器发起一个请求,我们服务器会生成一对公钥/私钥,把私钥交给用户。
用户在10分钟之内可以通过这个私钥ssh登录进我们的服务器,把用户的端口映射到我们服务器,10分钟过后禁止登录。

现在比较关心的是安全问题。
多用户。
服务器端口希望动态分配,端口号可以连同私钥一起交给用户。
用户登录进我的服务器不能乱搞,给最小权限。

2886 次点击
所在节点    Linux
6 条回复
cplus
2015-07-27 22:47:27 +08:00
给用户建一个很小权限的账号,设置账号的过期时间就行了。
qw7692336
2015-07-27 22:52:58 +08:00
@cplus 我就是问你怎么设过期
ryd994
2015-07-28 00:20:23 +08:00
简单办法是保存每个帐号的过期时间(可以用数据库,但简单地用文件保存也可以),然后每分钟cron job 检查过期用户删掉
你利用自带的帐户管理用户的话,过期的用户会一直留在passwd里,时间长了会悲剧的
另外也可以chroot跑dropbear,好处是不怕弄乱passwd
ryd994
2015-07-28 00:21:24 +08:00
RTFM
passwd
-i, --inactive=DAYS number of days after password expiration when an account becomes disabled (root only)
qw7692336
2015-07-28 09:16:20 +08:00
@ryd994
打算用at把公钥删了,这方法可行不?
ryd994
2015-07-28 21:41:52 +08:00
@qw7692336 似乎没什么大问题

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

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

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

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

© 2021 V2EX