단편소설

단편소설

sudo를 통해 루트 액세스 권한을 얻을 수 있도록 특정 SSH-RSA 키(다른 사용자, 즉 "ec2-user"를 통해)를 설정할 수 있습니까?

  1. "Bob"(ec2-user) 키를 사용하여 로그인합니다. 현재 사용자 "Bob"은 sudo를 사용하여 루트에 들어갈 수 있습니다.

  2. 이제 "Bob"에는 두 개의 키가 있습니다. 하나는 sudo su를 사용하여 루트에 들어갈 수 있고 다른 하나는 그럴 수 없습니다.

답변1

예. pam_ssh_agent_auth배포판에서 제공하는 경우 패키지를 사용할 수 있습니다. ssh-agent에서 ssh 키를 사용할 수 있는지 확인하는 pam 모듈을 기반으로 sudo를 수행할 수 있습니다.

단편소설

설정

  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를 열고 위의 키를 추가하세요.

    평가 $(ssh-agent) ssh-add ~/.ssh/id_rsa

  2. 프록시 전달을 통해 서버에 연결

    SSH -K 서버

  3. 필요에 따라 sudo를 실행하세요.

지금까지 테스트한 결과 Fedora/RHEL/CentOS 시스템에서는 제대로 작동했습니다.

관련 정보