V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
qw7692336
V2EX  ›  Linux

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

  •  
  •   qw7692336 · 2015-07-27 17:50:33 +08:00 · 3043 次点击
    这是一个创建于 3414 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    cplus
        1
    cplus  
       2015-07-27 22:47:27 +08:00
    给用户建一个很小权限的账号,设置账号的过期时间就行了。
    qw7692336
        2
    qw7692336  
    OP
       2015-07-27 22:52:58 +08:00 via Android
    @cplus 我就是问你怎么设过期
    ryd994
        3
    ryd994  
       2015-07-28 00:20:23 +08:00
    简单办法是保存每个帐号的过期时间(可以用数据库,但简单地用文件保存也可以),然后每分钟cron job 检查过期用户删掉
    你利用自带的帐户管理用户的话,过期的用户会一直留在passwd里,时间长了会悲剧的
    另外也可以chroot跑dropbear,好处是不怕弄乱passwd
    ryd994
        4
    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
        5
    qw7692336  
    OP
       2015-07-28 09:16:20 +08:00
    @ryd994
    打算用at把公钥删了,这方法可行不?
    ryd994
        6
    ryd994  
       2015-07-28 21:41:52 +08:00
    @qw7692336 似乎没什么大问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2651 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 11:05 · PVG 19:05 · LAX 03:05 · JFK 06:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.