短篇小说长篇

短篇小说长篇

是否可以设置特定的 SSH-RSA 密钥(通过另一个用户,即“ec2-user”),以便能够通过 sudo 进入 root 权限。

IE

  1. 您使用“Bob”(ec2-user)的密钥登录。目前用户“Bob”可以 sudo 进入 root。

  2. “鲍勃”现在有两把钥匙。一种可以 sudo su 进入 root,一种不能。

答案1

是的。pam_ssh_agent_auth如果您的发行版提供,则可以使用包。它可以允许您基于 pam 模块执行 sudo,该模块检查 ssh-agent 中是否拥有 ssh 密钥。

短篇小说长篇

设置

  1. pam_ssh_agent_auth从包管理器安装包
  2. 修改/etc/sudoers,最好使用visudo并添加行

    Defaults    env_keep += "SSH_AUTH_SOCK"
    
  3. 编辑/etc/pam.d/sudo并添加(作为 后的第二行#%PAM-1.0

    auth     sufficient   pam_ssh_agent_auth.so file=/etc/security/authorized_keys
    

    并注释掉该行

    #auth       include      system-auth
    

    禁止 sudo 命令的正常系统身份验证

  4. 创建“特权”密钥对,该密钥对应有权访问sudo命令和存储公共部分,就像/etc/security/authorized_keys在服务器上一样。

    ssh-keygen -t rsa -b 2048
    cat ~/.ssh/id_rsa > /etc/security/authorized_keys
    

用法

  1. 在客户端上打开 ssh-agent 并添加上述密钥:

    eval $(ssh-agent) ssh-add ~/.ssh/id_rsa

  2. 通过代理转发连接到服务器

    ssh -K 服务器

  3. 根据需要运行 sudo

从我到目前为止的测试来看,这在 Fedora/RHEL/CentOS 系统上运行良好。

相关内容