![SSH를 통해 루트로 서버에 연결할 수 없습니다](https://rvso.com/image/1692519/SSH%EB%A5%BC%20%ED%86%B5%ED%95%B4%20%EB%A3%A8%ED%8A%B8%EB%A1%9C%20%EC%84%9C%EB%B2%84%EC%97%90%20%EC%97%B0%EA%B2%B0%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4.png)
Windows의 VS Code에서 원격 탐색기를 사용하여 Ubuntu에서 서버에 액세스하고 싶습니다. 매번 비밀번호를 입력하는 것이 번거로워서 ssh-keygen을 이용하여 SSH 키 생성을 시도해보았습니다. 일반 사용자에게는 키가 제대로 작동하지만 루트로 로그인할 수 없습니다.
cmd의 오류(ssh root@<server_ip>):
root@<server_ip>: Permission denied (publickey,password).
오류 /var/log/auth.log
:
sshd[1012327]: Connection reset by authenticating user root <client_ip> port 59021 [preauth]
내가 본 모든 솔루션에는 sshd_config가 언급되어 있지만 루트 로그인이 활성화되어 있습니다. sshd_config:
# Authentication:
#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
PubkeyAuthentication yes
# Expect .ssh/authorized_keys2 to be disregarded by default in future.
#AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
#AuthorizedPrincipalsFile none
#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody
파일 에 공개 키를 추가했습니다 /home/user/.ssh/authorized_keys
. 이 키는 사용자 전용인 것 같지만 가이드에 따르면 루트에도 사용할 수 있는 것 같습니다.
그렇다면 루트로 연결할 수 없는 이유는 무엇입니까?
답변1
이 키는 사용자 전용인 것 같지만 가이드에 따르면 루트에도 사용할 수 있는 것 같습니다.
가이드가 당신을 잘못 안내했습니다.
각 사용자는 자신만의 홈 디렉토리를 갖고 있으며 따라서 자신만의 authorized_keys
. 루트의 홈 디렉터리는 일반적으로 /root/
. 따라서 루트로 로그인하기 위한 관련 파일은 /root/.ssh/authorized_keys
. 그것은 와 아무 관련이 없습니다 /home/user/.ssh/authorized_keys
.
생각해 보세요. 일반 사용자인 /home/user/.ssh/authorized_keys
사용자에 속하며 다음을 수행할 수 있습니다.user
아니면 그렇지 않을 수도 있다sudo 액세스 권한이 있습니다. 사용자는 거기에 어떤 키든 등록할 수 있습니다. 루트가 동일한 파일을 사용한 경우 사용자는 일부 키를 인증하기만 하면 루트로 로그인할 수 있습니다.