Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
VKMEPR
V2EX  ›  Linux

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

  •  
  •   VKMEPR · Feb 7, 2019 via iPad · 6227 views
    This topic created in 2674 days ago, the information mentioned may be changed or developed.

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

    22 replies    2019-02-14 17:41:26 +08:00
    scriptB0y
        1
    scriptB0y  
       Feb 7, 2019
    直接用 root ssh 登陆就是了。
    2exploring
        2
    2exploring  
       Feb 7, 2019
    https://wiki.archlinux.org/index.php/Sudo#Disable_per-terminal_sudo

    只要 sudo 记住密码的时候够长,你就可以每次登录只打一次密码。
    lihongjie0209
        3
    lihongjie0209  
       Feb 7, 2019
    visodu



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

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

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

    如果你不怕坑的话 😝
    yuikns
        16
    yuikns  
       Feb 7, 2019
    我的做法在 /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  
       Feb 7, 2019 via Android
    @radc 怎么配合
    crayygy
        18
    crayygy  
       Feb 7, 2019 via iPhone
    @msg7086 我给自己的思考时间是,凡是跳出来让我输入密码的,先仔细想想为什么这个操作这么危险需要密码,输完密码就来不及了
    msg7086
        19
    msg7086  
       Feb 7, 2019
    @crayygy sudo 在缓存凭证期间是不需要输密码的,和操作是否危险无关。
    比如第一次打 sudo ls / 是不危险的,但是要输密码;然后第二次打 sudo rm -rf /* 是危险的,但是不需要输密码。
    没有养成在危险操作之前先思考的习惯的话,很可能危险操作在你第二个 sudo 的时候就直接执行了。
    杜绝手滑应该在每次打 rm mv xxremove xxdestroy 还有 * ? 的时候多思考一下,而不是坐等时不时偶尔会出现的密码提示符。
    Firxiao
        20
    Firxiao  
       Feb 8, 2019
    mac 可以使用 item2 的 trigger + password manager 实现自动输入 sudo 密码
    hjlmjx
        21
    hjlmjx  
       Feb 8, 2019 via Android
    直接 kali
    kisara
        22
    kisara  
       Feb 14, 2019
    Debian 或者 ubuntu 的话编辑 /etc/sudoers 文件就行:
    https://blog.yyliu.net/add_user_sudo/
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1754 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 69ms · UTC 16:24 · PVG 00:24 · LAX 09:24 · JFK 12:24
    ♥ Do have faith in what you're doing.