EC2에서 다른 사용자로 Ubuntu에 로그인할 때 "서버가 키를 거부했습니다"

EC2에서 다른 사용자로 Ubuntu에 로그인할 때 "서버가 키를 거부했습니다"

Ubuntu 10.04를 실행하는 AWS 마이크로 인스턴스를 만들었고 키 쌍을 사용하여 "ubuntu" 사용자로 퍼티할 수 있습니다. 이제 두 명의 새로운 사용자를 생성했지만 해당 사용자 이름을 사용하여 인스턴스에 퍼티하려고 하면 "서버가 키를 거부했습니다"라는 메시지가 나타납니다.

무슨 일이야? 키 쌍이 우분투 사용자에게 연결되어 있습니까? 또한 이러한 사용자를 위한 키 쌍을 만들어야 합니까, 아니면 비밀번호를 사용하여 로그인할 수 있습니까? 아니면 항상 "ubuntu"로 퍼티한 다음 "su - myusername"으로 퍼티해야 합니까? 아니면 제가 뭔가 간단한 것을 놓치고 있는 걸까요?

답변1

예, 키 쌍은 우분투 사용자와 연결되어 있습니다. 새 사용자를 생성한 후에는 사용하려는 키를 $HOME/.ssh/authorized_keys..에 넣어야 합니다. $HOME/.ssh에 보안 권한이 있는지도 확인해야 하므로 약간 복잡합니다.

chmod 0700 $HOME/.ssh

Authorized_keys 파일에도 보안 권한이 있습니다

chmod 0600 $HOME/.ssh/authorized_keys

한 가지 비결은 동일한 키를 사용하려는 경우 우분투 사용자의 키 파일을 새 사용자에게 복사하는 것입니다.

sudo cp -arf /home/ubuntu/.ssh /home/myuser/.ssh
chown -R myuser.myuser /home/myuser/.ssh

새로운 사용자에 대한 비밀번호를 설정하는 경우(실제로는 권장되지 않습니다. SSH 서버의 비밀번호 무차별 대입 공격은 인터넷에서 만연합니다) 클라이언트 시스템에서도 이 작업을 수행할 수 있습니다.

ssh-copy-id user@host

그러면 모든 권한이 처리됩니다. 또한 Launchpad.net 계정에 키를 저장하면 다음을 수행할 수 있습니다.

ssh-import-id your-launchpad-user

그리고 런치패드에서 키를 가져옵니다(이 명령은 11.04 이상에서 ssh-import-id로 이름이 변경되었습니다).

관련 정보