현재 FOO 사용자에게 ssh를 수행한 다음 BAR 사용자에게 sudo를 수행해야 합니다.
공개 키를 사용하여 ssh를 실행하고 싶지만 원격 시스템에는 사용자 FOO에 대한 홈 디렉터리가 없으므로 분명히 .ssh/authorized_keys가 없습니다. 공개 키를 어디에 넣을 수 있나요?
/home 디렉토리가 비어 있으므로 사용자에 대해 홈 디렉토리가 생성되지 않은 것으로 보이며 시스템에 대한 루트 권한이 없습니다.
감사해요.
답변1
귀하의 사용자 이름은 다음과 같습니다 testssh
.
/etc/ssh/authorized_keys_testssh
키를 생성 하고 거기에 넣습니다.- 다음을 추가하세요
/etc/ssh/sshd_config
.
Match User testssh
AuthorizedKeysFile /etc/ssh/authorized_keys_%u
그리고 sshd를 다시 시작하세요. 귀하의 사용자는 자신의 개인 키를 사용하여 SSH를 통해 연결할 수 있습니다.
답변2
짧은 답변
그렇지 않을 수도 있습니다. 시스템 관리자에게 문의하세요.
더 긴 답변
첫째, /home
디렉터리가 비어 있다고 해서(존재하지 않더라도) 반드시 사용자에게 홈 디렉터리가 없다는 의미는 아닙니다. 환경 변수의 값을 볼 수 있습니다 HOME
.
$ echo $HOME
/path/to/nonstandard/homedirectory
또는 getent
다음 명령을 사용하십시오.
$ getent passwd username
username:*:1001:1001:User Name:/path/to/nonstandard/homedirectory:/bin/bash
사용자에게 실제로 홈 디렉터리가 없는 것으로 밝혀진 경우 authorized_keys
에도 서버 관리자가 파일에 대해 비표준 위치를 설정했다면 공개 키를 사용할 수 있습니다.
당신이 사용하고 있다고 가정SSH 열기, 파일 위치는 authorized_keys
구성 파일 AuthorizedKeysFile
의 키워드를 통해 지정할 수 있습니다 sshd_config
. 자세한 내용은 설명서를 참조하세요.
기본값은 입니다 ~/.ssh/authorized_keys
. /etc/ssh/sshd_config
기본값이 재정의되었는지 확인하려면 설정을 확인해야 합니다 . 루트 액세스 권한이 없으므로 변경하려는 경우 시스템 관리자에게 도움을 요청해야 할 수도 있습니다.
홈 디렉터리가 없고 시스템 관리자가 파일의 다른 위치를 구성하지 않았으며 authorized_keys
컴퓨터에 대한 관리 권한이 없는 것으로 밝혀지면 키를 사용하지 못할 수 있습니다. 기반 인증 - 시스템 관리자에게 문의하세요.