동일한 컴퓨터에 두 명의 사용자가 있고 사용자 #2에 대해 SSH를 설정하려고 합니다. SSH가 여전히 두 번째 사용자의 비밀번호를 요구했기 때문에 .rsa 파일을 user#1에서 user#2로 복사했습니다. 파일과 권한이 동일하고 사용자#1에게 비밀번호를 요청하지 않더라도 SSH는 여전히 사용자#2에게 비밀번호를 요청합니다. 동일한 .rsa 파일을 사용하는 동일한 시스템의 두 사용자가 SSH와 다른 응답을 갖게 되는 원인은 무엇입니까?
답변1
루트부터 시작하여 홈 디렉터리의 .ssh 디렉터리까지의 모든 디렉터리에는 '그룹' 또는 '기타'에 대한 쓰기 권한이 없어야 합니다. 이는 보안 강화를 위한 SSH의 요구 사항입니다. 권한이 그렇게 설정되지 않은 경우 공격자는 쓰기 권한이 있는 첫 번째 디렉터리부터 시작하여 .ssh에 들어가서 수정하거나 복사하고 개인 키를 자신이 선택하거나 업데이트하는 다른 사용자에게 복사할 수 있습니다. 키를 선택하여 스스로를 스푸핑하고 ssh를 사용하여 비밀번호를 묻지 않고 로그인할 수 있습니다. 따라서 .ssh 키가 적절한 권한으로 제대로 보호되지 않으면 작동하지 않습니다.
답변2
나는 아래에 대답하고있다추정user1과 user2는 원격 서버에 있고 로컬에서 개인 키를 사용하여 해당 서버에 연결하고 있습니다.
대신 로컬 user1/user2 계정을 사용하여 원격 서버에 연결하려는 경우 내 대답이 적용되지 않습니다.
원격 서버에서 공개 키의 내용을 다음에 추가해야 합니다.
~/.ssh/authorized_keys
그러면 파일 내용은 다음과 같습니다.
답변3
누군가가 이전에 .rsa 및 포함된 파일에 대한 권한이 올바르지 않다는 합리적인 답변을 제공했습니다(삭제했음이 틀림없음). 이것이 문제는 아니었지만 거의 정확했습니다. .rsa로 연결되는 모든 폴더에는 적절한 권한이 필요하다는 것이 밝혀졌습니다.
일단 동일하게 만들면 프롬프트 없는 SSH가 작동하여 처음에는 호스트 키를 수락하라는 메시지가 표시되지만 다음 연결에서는 그렇지 않습니다.
[root@computer ~]# ls -ld /home/user2 /home/user1
drwxrwx--- 24 user2 user2 4096 Jun 2 13:13 /home/user2
drwxr-xr-x 97 user1 user1 12288 Jun 2 13:06 /home/user1
[root@computer ~]# chmod -v 755 /home/user2
mode of `/home/user2' changed to 0755 (rwxr-xr-x)
[root@computer ~]# ls -ld /home/user2 /home/user1
drwxr-xr-x 24 user2 user2 4096 Jun 2 13:13 /home/user2
drwxr-xr-x 97 user1 user1 12288 Jun 2 13:06 /home/user1