SSH 키를 사용하고 비밀번호 인증을 비활성화하는 방법


10

Linux 클라이언트 컴퓨터에서 SSH를 통해 원격으로 Mac에 액세스하려고합니다 (이 Mac에 물리적으로 액세스 할 수 있습니다). 나의 목표는 네트워크 외부에서이 Mac에 액세스하는 것입니다. 라우터에서 포트 포워딩이 설정됩니다. 클라이언트 컴퓨터 ssh user@ip에서 공개 IP를 사용할 수 있고 Mac에 접속할 수 있으므로 포트 전달이 작동합니다.

이제 SSH 키를 설정하고 싶습니다. 클라이언트 컴퓨터에서 SSH 키를 생성했지만 Mac 설정에서 SSH 데몬을 먼저 얻고 싶었습니다. 편집 /etc/ssh_config하고 설정했습니다 PasswordAuthentication no. 나는이 명령을 사용하여 SSH를 다시 시작 : sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist다음 sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist. 클라이언트에서 다시 SSH를 시도하면 여전히 비밀번호를 묻습니다.

나는 이 게시물을 보았고 대답 UsePAM no에서 구성 파일에 추가 하고 서비스를 launchctl다시 시작 했습니다. 여전히 비밀번호를 묻는 메시지가 나타납니다.

나는 또한 여기 에 해결책을 시도했다 . 여전히 비밀번호를 묻는 메시지가 나타납니다.

ssh_config암호를 요구하지 않고 SSH 키만 허용하도록 어떻게 설정 합니까? 데몬을 제대로 다시 시작하지 않습니까? 누락 된 다른 단계가 있습니까?

답변:


10

잘못된 구성 파일을 편집하고있었습니다! 대신에 /etc/ssh_config편집했습니다 private/etc/sshd_config. /etc/sshd_config@GhostLyrics의 업데이트 된 답변에 따라 편집하면 이것이 아마도 효과가 있었을 것이라고 생각 하지만 아직 테스트하지 않았으므로 확실하게 말할 수는 없습니다. 그 후 서비스를 다시 sudo launchctl stop com.openssh.sshd시작한 다음 sudo launchctl start com.openssh.sshd원하는 동작을 얻을 수있었습니다. 다음은 관련 정보를 찾은 리소스입니다. https://superuser.com/questions/364304/how-do-i-configure-ssh-on-os-x

변경 한 구성 옵션은 다음과 같습니다.

PermitRootLogin no PasswordAuthentication no PermitEmptyPasswords no ChallengeResponseAuthentication no

그 후 클라이언트 컴퓨터에서 SSH 키를 성공적으로 생성하고 공개 키를 ~/.ssh/authorized_keysMac 으로 옮기고 해당 파일의 권한을 644로 설정했습니다.

이러한 권한은 내 공개 키에 대한 것 입니다. 내 개인 키의 권한 내 클라이언트 컴퓨터에 600으로 설정됩니다. 폴더 에 공개 키와 개인 키가 모두 있고 시스템에 여러 사용자가있는 경우이 방법 중요합니다 ~/.ssh. 귀하의 경우 개인 키의 권한이 644로 설정 한 후 모든 사용자는 개인 키를 읽고 당신을 가장 할 수있다. 또한 ~/.ssh폴더에 대한 권한은 700이어야합니다.


4
내부적 /etc/sshd_config/private/etc/sshd_config같은 파일입니다. :)
GhostLyrics

7

/etc/ssh/ssh_config홈 디렉토리에 더 구체적인 파일이없는 경우 사용되는 클라이언트의 구성 파일입니다. 편집하려는 /etc/ssh/sshd_config것은 서버를위한 것입니다.

당신은 아마 설정할 것 PermitRootLogin without-password(또는 no)하고 PasswordAuthentication no있다.


업데이트 : 당신은 요세미티를 실행하고 있기 때문에, 파일이되고 /etc/sshd_config이 답변에 따라 : https://apple.stackexchange.com/a/167405/11135

설정시 여전히하라는 메시지가 왜 더 정교하기 PasswordAuthentication no/etc/ssh/ssh_config당신이 구성을 이해하는 것이 중요하다. " SSH를 통해 나가는 연결을 할 때 비밀번호 인증을 제공하지 마십시오."


나는 (이 /etc/ssh/ssh_config)만이 없습니다 /etc/ssh_config. 요세미티에서 뛰고 있습니다. 시도 PasswordAuthentication no했지만 암호를 묻는 메시지가 계속 표시됩니다.
beznez

아, 알겠습니다 그것은 내가 원하는 것이 아닙니다. 키를 사용하고 비밀번호를 사용하지 않고 Linux 클라이언트에서 Mac으로 SSH하고 싶습니다. 들어오는 연결을 위해 무엇을 변경해야 합니까?
beznez

/etc/sshd_configPasswordAuthentication no. 혼란을 드려 죄송합니다. 답변을 더 명확하게하는 방법을 알려주십시오. :)
GhostLyrics

나는 여전히 같은 행동을하고 있습니다. Linux 컴퓨터에서 Mac으로 ssh 할 때 암호를 묻는 메시지가 표시됩니다.
beznez

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.