내 말은:
sshd가 루트 계정에서 실행되고 있지 않은 경우 원격 SSH 클라이언트가 루트 계정에서 셸이나 다른 명령을 실행할 수 있도록 어떻게 허용합니까?
sshd가 login 명령을 호출하면 사용자는 루트로 로그인할 수 있습니다. 사용자가 루트 비밀번호를 제공했고 UNIX가 이를 알고 있기 때문입니다.
그러나 sshd에는 비밀번호 없는 기능도 있습니다. 즉, SSH 클라이언트의 공개 키를 저장합니다. 이 경우 SSH 클라이언트는 로그인 명령에 대한 비밀번호를 입력하지 않습니다. SSH 클라이언트가 UNIX 시스템에서 ROOT 사용자로 쉘을 실행하도록 하는 방법은 무엇입니까? sshd가 루트 계정이 아닌 경우.
원래:
내 문제는 sshd를 사용하여 비밀번호 없이 서버에 로그인할 수 있다는 것입니다.
그럼 루트 권한으로 실행해야 하나요?
그렇지 않은 경우 서버는 어떻게 클라이언트가 루트로 실행되도록 허용합니까?
답변1
예전에 어떤분이 물어보셨는데서버 장애. 약간 수정되고 주석이 달린 인용문:
생성한 새 파일의 위치에서
/usr/sbin/sshd -f ~/.ssh/sshd_config
프로세스를 시작합니다 .~/.ssh/sshd_config
다른 옵션(예: 다른 호스트 키, 다른 포트 등) 중에서 라인을 추가해야 합니다 . 이렇게 하면 프로세스가 호출 을 시도하는 것을UsePrivilegeSeparation no
방지 하고 사용자로 계속 실행되고 사용자 연결을 수락할 수 있습니다. .sshd
setuid
setgid
또한 권한이 없는 포트(>1024)를 사용하는 것을 잊지 마십시오.
답변2
나는 당신이 원하는 것이 ssh-keygen
당신의 "장치 서명"을 기억하는 것이라고 믿습니다. 따라서 비밀번호를 변경하더라도 ssh
동일한 기기를 사용하는 한 비밀번호는 계속 유효합니다.
여기설정 방법에 대한 자세한 튜토리얼입니다.
루트 권한으로 실행해야 하나요?
- 아니요. 설정 중에 .home 디렉터리의 특정 파일을 편집하려면 호스트 서버에 대한 루트 권한만 필요합니다
root
. 설정이 완료되면 더 이상 이 작업을 완료하기 위해 루트 비밀번호를 입력할 필요가 없습니다.