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

sudo 可以像 ssh 登录用密钥文件认证吗

  •  
  •   VKMEPR · 2019-02-07 09:52:00 +08:00 via iPad · 5540 次点击
    这是一个创建于 2120 天前的主题,其中的信息可能已经有所发展或是发生改变。

    每次输入密码好麻烦,关闭验证又减低安全性,su -i 不想用

    22 条回复    2019-02-14 17:41:26 +08:00
    scriptB0y
        1
    scriptB0y  
       2019-02-07 09:59:48 +08:00
    直接用 root ssh 登陆就是了。
    2exploring
        2
    2exploring  
       2019-02-07 10:02:13 +08:00
    https://wiki.archlinux.org/index.php/Sudo#Disable_per-terminal_sudo

    只要 sudo 记住密码的时候够长,你就可以每次登录只打一次密码。
    lihongjie0209
        3
    lihongjie0209  
       2019-02-07 10:06:08 +08:00
    visodu



    NOPASSWD:ALL
    singerll
        4
    singerll  
       2019-02-07 10:25:52 +08:00 via Android
    就像三楼说的,/etc 下面有个文件,改一下就好了
    radc
        5
    radc  
       2019-02-07 12:17:06 +08:00
    买 yubikey 啊 认证时候点一下就好
    sky96111
        6
    sky96111  
       2019-02-07 12:17:08 +08:00 via Android
    sudoer 机制?
    chinvo
        7
    chinvo  
       2019-02-07 12:29:59 +08:00 via iPhone
    不如设为 nopasswd
    frylkrttj
        8
    frylkrttj  
       2019-02-07 12:39:25 +08:00
    奇思妙想系列
    pkookp8
        9
    pkookp8  
       2019-02-07 13:34:12 +08:00 via Android
    sudo 本身就记住密码的吧,短时间内同一个 terminal 不需要输密码
    tabris17
        10
    tabris17  
       2019-02-07 13:38:00 +08:00
    思路有问题。SSH 是远程身份认证,而 sudo 是本地身份认证。用密钥来实现本地认证本身就没有意义了,和 NOPASSWD 设置没有区别
    momocraft
        11
    momocraft  
       2019-02-07 13:42:18 +08:00
    也许可以开一个 sudo 不要密码的用户,然后用密钥登录此用户

    ```
    alias susudo="ssh sudoist@localhost"

    susudo whoami
    ```
    crayygy
        12
    crayygy  
       2019-02-07 13:43:47 +08:00 via iPhone   ❤️ 5
    劝一句,不要干这事,输密码那会儿正是最后的思考时间,给你一丝反悔的可能。
    msg7086
        13
    msg7086  
       2019-02-07 14:49:34 +08:00
    @crayygy 我始终坚持最后的思考时间应该是按下回车之前,而不是依赖一个可能不会弹出来的输密码提示符。
    boris1993
        14
    boris1993  
       2019-02-07 14:53:37 +08:00 via Android
    @crayygy #12 思考的时刻在思考,不思考的只觉得你在给他下绊子
    wweir
        15
    wweir  
       2019-02-07 15:48:43 +08:00 via Android
    alias sudo=ssh root@localhost

    如果你不怕坑的话 😝
    yuikns
        16
    yuikns  
       2019-02-07 16:23:00 +08:00
    我的做法在 /etc/sudoers.d/ 目录下准备一个配置,假设名字叫 my-sudo-config. 内容是我使用的免密码命令列表。

    my-name ALL=NOPASSWD:/home/my-name/.local/src/my-agents/bash-agent,/usr/bin/docker-compose,/usr/bin/docker

    这样我就可以不需要密码执行

    sudo docker
    sudo docker-compose


    而 bash-agent 这个是只有我这个用户名可以访问的,内容大致是

    #!/usr/bin/env bash

    sudo /bin/bash

    若需要,把它放到 PATH 我就可以

    sudo bash-agent

    然后就跳 bash 了。
    myliyifei
        17
    myliyifei  
       2019-02-07 16:25:41 +08:00 via Android
    @radc 怎么配合
    crayygy
        18
    crayygy  
       2019-02-07 16:58:42 +08:00 via iPhone
    @msg7086 我给自己的思考时间是,凡是跳出来让我输入密码的,先仔细想想为什么这个操作这么危险需要密码,输完密码就来不及了
    msg7086
        19
    msg7086  
       2019-02-07 23:36:38 +08:00
    @crayygy sudo 在缓存凭证期间是不需要输密码的,和操作是否危险无关。
    比如第一次打 sudo ls / 是不危险的,但是要输密码;然后第二次打 sudo rm -rf /* 是危险的,但是不需要输密码。
    没有养成在危险操作之前先思考的习惯的话,很可能危险操作在你第二个 sudo 的时候就直接执行了。
    杜绝手滑应该在每次打 rm mv xxremove xxdestroy 还有 * ? 的时候多思考一下,而不是坐等时不时偶尔会出现的密码提示符。
    Firxiao
        20
    Firxiao  
       2019-02-08 15:59:46 +08:00
    mac 可以使用 item2 的 trigger + password manager 实现自动输入 sudo 密码
    hjlmjx
        21
    hjlmjx  
       2019-02-08 17:01:36 +08:00 via Android
    直接 kali
    kisara
        22
    kisara  
       2019-02-14 17:41:26 +08:00
    Debian 或者 ubuntu 的话编辑 /etc/sudoers 文件就行:
    https://blog.yyliu.net/add_user_sudo/
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1658 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 16:48 · PVG 00:48 · LAX 08:48 · JFK 11:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.