비밀번호(sudo -s)를 모르고 SSH를 통해 루트로 로그인하시겠습니까?

비밀번호(sudo -s)를 모르고 SSH를 통해 루트로 로그인하시겠습니까?

다음을 사용하여 서버에 SSH로 연결합니다.

ssh user@host

그런 다음 다음을 사용하여 루트 사용자로 변경합니다.

sudo -s

루트 사용자 비밀번호가 아닌 내 비밀번호를 제공합니다. sudoers 파일에 있기 때문에 이것이 작동한다는 것을 이해합니다.

루트 사용자 비밀번호가 없어도 SSH/로그인하고 한 번에 루트 사용자로 전환할 수 있습니까?

요점은 비밀번호를 두 번 입력하는 것을 피하고 싶다는 것입니다.

답변1

이를 달성하는 두 가지 쉬운 방법이 있습니다.

  1. 당신은뿌리사용자가 SSH를 통해 로그인하려면 파일을 편집하고 다음으로 /etc/ssh/sshd_config설정하면 됩니다.PermitRootLogin진실, 이렇게 하면 루트가 SSH를 통해 연결할 수 있습니다.
  2. SSH 사용자가 자동으로 루트로 로그인할 수 있도록 사용자 정의 스크립트를 만듭니다. 이 작업은 파일을 통해 수행할 수 /etc/passwd있으며 사용자가 다음과 같이 표시되는 것을 볼 수 있습니다.

your_user:x:1001:1001:Oqhax,,,:/home/your_user:/bin/bash

로그인 시 사용자 정의 스크립트를 실행하려면 해당 부분을 변경 /bin/bash하고 원하는 코드를 실행하는 자체 스크립트를 추가해야 합니다. 여기에는 sudo -s와 같은 내용이 포함될 수 있으며 사용자 정의 스크립트 끝에서 다시 호출할 수도 있습니다 /bin/bash. , 그러면 passwd다음과 같이 보일 것입니다:

your_user:x:1001:1001:Oqhax,,,:/home/your_user:/bin/your_script

두 번째 옵션은 SSH 로그인 동작에 영향을 미치므로 이를 테스트하려면 실수로 사용자가 효과적으로 로그인할 수 없도록 처리할 수 있는지 확인하고 다음을 통해 백도어 SSH 액세스가 있는지 확인하세요. 옵션 1에서 언급한 다른 사용자 또는 루트는 적어도 일시적으로 다시 로그인하여 설정이 작동할 때까지 실수를 수정할 수 있습니다.

업데이트:아래 의견에 대한 후속 조치는 이것이 ssh 로그인뿐만 아니라 해당 사용자의 모든 로그인에 영향을 미친다는 점을 언급할 가치가 있습니다. 실제 루트 사용자가 SSH를 통해 로그인할 수 있도록 허용합니다. 이는 SSH에만 적용되는 훨씬 더 엄격하고 복잡한 솔루션에 대한 더 쉬운 솔루션이라는 점도 주목할 가치가 있습니다. 귀하의 질문은 자세히 설명되지 않습니다.

의견에서 언급했듯이, /etc/ssh/sshrc원시 /etc/passwd를 편집하는 것을 선호하므로 앞으로 무슨 일이 일어나고 있는지 매우 분명하게 확인하고 결과에 대해 수용해야 하지만 sshrc훌륭합니다 . 하지만 솔직하게 말해서 시스템 설정 방법을 잊어버리면 향후 문제 해결이 조금 더 어려워집니다. 이런 일이 자주 발생합니다. 그러나 루트 사용자를 전혀 노출하지 않는 것은 실제로 좋은 습관입니다. 이렇게 하면 나중에 훨씬 더 많은 유연성을 얻을 수 있으며 여러 가지 작업을 시도하고 sudoer 권한을 사용자 정의할 수 있습니다.

도움이 되었기를 바랍니다

관련 정보