키 파일을 sudo의 비밀번호로 사용할 수 있습니까?


11

문맥

랩톱에서 공개적으로 일하고 싶지만 암호없이 sudo를 사용하고 싶습니다. 내가 지금 아는 것을 기반으로 파일 에서 NOPASSWD옵션을 사용 sudoers하지만 물론 누구나 원하는대로 sudo를 사용할 수 있습니다.

내 마음에 오는 중요한 생각 중 하나 는 잠금 프로그램이 존재한다는입니다. 그러나, 나는 (1) 더 빠르고, (2) 비밀번호를 입력하는 것보다 쉽고, (3) 내 콘텐츠에 액세스하거나 사악한 사람들을 걱정하지 않기 때문에 플래시 드라이브를 사용하고 sudo 용으로 만 사용하는 것을 선호합니다 사물 : 랩탑은 다른 사람들과 함께 공개 될 것이며, 랩탑의 유일한 지적 재산은 매우 기본적인 Angular 프로젝트입니다.

또한 본인과 다른 사람들은 X 또는 Wayland 환경을 실행하지 않는 컴퓨터에서 sudo의 오용을 방지하기를 원할 수 있습니다. 현재 작업에는 최신 웹 브라우저가 필요하지만 X를 사용하지 않고 멀티플렉서를 사용할 기회가 있다면 랩톱이 약간 오래되고 느립니다.

질문

내가하고 싶은 일은 플래시 드라이브에 키 파일을 넣고 랩톱에있을 때 플래시 드라이브를 꽂고 나가면 꺼냅니다.

이 문제에서 파생 된 세 가지 질문은 다음과 같습니다.

  1. sudo를 그대로 사용할 수 있습니까?
  2. 그렇지 않다면 이것을 할 수있는 프로그램을 작성할 수 있습니까?
  3. 그렇다면이 프로그램을 작성하는 데 가장 적합한 언어는 무엇입니까?

(4. [아마도 관련없는 질문 일 것]이 패키지는 분리되어 있거나 sudo의 포크 여야합니까?

노트

관련이 있다면 내 설정은 데스크탑 환경이없는 bspwm이있는 Arch Linux입니다. 내 작업의 대부분은 urxvt / vim에서 웹을 개발하고 Chrome으로 확인하는 것입니다.


1
pam_usb 가 귀하의 요구를 충족 시킵 니까 ?
StrongBad

@StrongBad 어 ... 그래. 즉시 sudo를 수행하지 않고 로그인과 sudo를 함께 수행하는 것처럼 보이지만 나에게 중요하지 않습니다. 감사!
게이지 소렐

2
알기 쉽게 설명하기 위해 지속적으로 로그인 상태를 유지하고 사람들이 귀하의 계정으로 sudo를 사용하지 못하게하고 싶습니다.
StrongBad

@StrongBad 맞습니다.
게이지 소렐

파일 에서 rootpw플래그를 사용하고 루트 로그인을 /etc/sudoers설정 하여 무언가를 구성 할 수 있습니다 pam_usb.
RubberStamp

답변:


3

NOPASSWD옵션이 자신의 요구 사항을 모두 만족시키지 못하는지 잘 모르겠지만 플래시 드라이브가 필요하다면 원하는 것을 거의 할 수있는 것을 생각할 수 있습니다.

이 방법은 해결 방법이 더 많지만 로컬 관리자를 작성하여 superuser해당 사용자에게 비밀번호없는 sudo권한을 부여 할 수 /etc/sudoers있습니다 (예 : 파일에 다음 줄 추가) .

superuser ALL=(ALL) NOPASSWD:ALL

그런 다음 비밀번호 로그인을 비활성화하고 해당 사용자에 대해 키 전용 SSH 인증을 구성 할 수 있습니다. 즉 passwd -l superuser, 다음 스탠자를 실행 하고 추가하십시오 /etc/ssh/sshd_config.

Match user superuser
PasswordAuthentication no

그런 다음이 사용자에 대한 SSH 키 쌍을 작성하십시오. 공개 키를 추가하고 /home/superuser/.ssh/authorized_keys플래시 드라이브에 개인 키를 넣습니다. 그런 다음 superuser계정 을 사용하려면 플래시 드라이브를 연결하고 superuser개인 키를 사용하여 계정에 ssh를 입력하십시오 . 그리고 voilà! 이제 sudo사용자의 비밀번호가 없습니다 . 물론 완료 한 후에도 여전히 셸 세션을 종료해야합니다. 플래시 드라이브를 분리하는 것만으로는 충분하지 않습니다. 개인 키를 확인하고 존재하지 않는 경우 (또는 유효하지 않은 경우) 자동 종료하기 위해 사전 명령 후크 를 설정할 수도 있습니다 .


왜 당신이 이것을하고 싶을 지에 대한 쉬운 대답. 이 서버는 다시 돌아 가려고하지만 루트 키만 있고 루트 ssh 액세스 권한이 없으며 ec2-user에 잠겨있어 sudo가 가지고 있지 않은 비밀번호를 묻습니다. 나는 루트 키를 서버에 scp했다. 그래서 이상적 으로이 키를 사용하여 sudo acces를 얻고 싶습니다. 그런 다음 문제를 해결할 수 있습니다.
Brian Thomas
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.