SSH 개인 키를 지원하도록 sudo 명령을 만들 수 있으므로 사용자가 개인 키를 사용하여 로그인 할 때 암호를 입력하지 않고도 sudo를 실행할 수 있습니다.
이를 통해 UNIX sysadmin 비밀번호를 암호화 된 콜드 스토리지에 저장할 수 있으며 사용자가 항상 보안 개인 SSH 키를 사용하여 서버에 로그인한다고 가정하면 액세스 할 필요가 없습니다.
sudo visudo
하기 위해 비밀번호를 변경해 보십시오NOPASSWD: ALL
SSH 개인 키를 지원하도록 sudo 명령을 만들 수 있으므로 사용자가 개인 키를 사용하여 로그인 할 때 암호를 입력하지 않고도 sudo를 실행할 수 있습니다.
이를 통해 UNIX sysadmin 비밀번호를 암호화 된 콜드 스토리지에 저장할 수 있으며 사용자가 항상 보안 개인 SSH 키를 사용하여 서버에 로그인한다고 가정하면 액세스 할 필요가 없습니다.
sudo visudo
하기 위해 비밀번호를 변경해 보십시오NOPASSWD: ALL
답변:
그렇게하는 옵션은 2014 년 4 월 이후로 존재했습니다 .
라는 패키지 pam_ssh_agent_auth
(Centos 7에서 즉시 사용 가능한 YMMV)를 설치 한 다음 /etc/pam.d/sudo
인증 방법으로 수락 하도록 구성 해야합니다. 마지막으로에 SSH_AUTH_SOCK
지속되는 환경 변수 목록에 추가해야 할 수도 있습니다 sudo
.
sudo 및 sshd에 대한 심각한 코드 변경 없이는 불가능합니다. Sudo는 로그인 방법에 대해 알지 못하며 ssh는 공개 키, 암호 또는 기타 메커니즘이 로그인에 사용되었는지 여부를 나타내는 내용을 다른 프로그램에 게시하지 않습니다.
다른 사람이 말했듯이 sudoers에서 NOPASSWD 옵션을 사용할 수 있습니다. 이는 개인 키와 함께 ssh를 사용할 때뿐만 아니라 지정된 사용자에게 항상 적용됩니다.
정말로 원한다면, sshd 로그를 확인하고 sudoers 파일을 잠 그거나 편집하여 사용자가 암호없이 sudo를 수행 할 수 있도록 suid 프로그램을 사용하여 수행 할 수있는 트릭이있을 수 있습니다.
내가 말한 것은 이것이 나쁜 생각이라고 생각합니다. 권한있는 명령에 암호를 요구하면 개인 키 SSH가 제공하지 않는 몇 가지 장점이 있습니다. 특히 인증 시간 초과가 발생할 수 있습니다 (ssh 세션의 경우 비밀번호가 아닌 다시 입력해야 함). 최소한의 비밀번호와 회전을 가질 수 있습니다 (ssh 키와 달리 서버 제어 외부에 비밀번호 문구가 있음).
몇 가지 답변 별도의 사용자 비밀번호없이 sudo를 가리 킵니다. 보안이 저하 될 수 있음을 알고 있어야합니다.
인증서로 이미 강력하게 인증 된 사용자의 경우 이론적으로 루트가 될 수있는 인증서를 소유하고 있기 때문에 문제가되지 않을 수 있습니다.
그러나 공격자에게 제한된 사용자 셸을 제공 할 취약점에 대해 생각하고이 사용자에게 sudoers 파일에 NOPASSWD가 설정되어 있으면 공격자는 시스템에 대한 자격 증명이 전혀없는 루트입니다.
sudo가 사용자의 암호를 요구하면 공격자는 자신의 권한을 root로 에스컬레이션 할 시간과 행운이 필요합니다.