SSH 키 인증을 사용하여 다른 사용자 이름으로 원격 시스템에 로그인할 수 있습니까?

SSH 키 인증을 사용하여 다른 사용자 이름으로 원격 시스템에 로그인할 수 있습니까?

"remotesystem"이라는 원격 시스템이 있고 해당 시스템에 "foouser"라는 사용자 계정이 있다고 가정합니다.

내 로컬 시스템에서는 로컬 사용자 "foouser"로 SSH 키 쌍을 생성하고 공개 키를 "remotesystem"의 "/home/foouser/.ssh/authorized_keys" 파일에 넣을 수 있다는 것을 알고 있습니다. 내 로컬 시스템에서 "remotesystem"으로 "foouser"로 SSH를 사용하면 SSH는 키 쌍을 사용하여 나를 인증합니다.

하지만 내 로컬 사용자 이름이 원격 시스템의 사용자 이름과 동일하지 않으면 어떻게 되나요? 즉, "remotesystem"에 대한 로컬 사용자 "baruser"로 SSH를 수행하려면 어떻게 해야 합니까? 분명히 "baruser"에 대한 키 쌍을 생성하고 "/home/foouser/.ssh/authorized_keys"에 공개 키를 추가해야 합니다. 그러면 로컬에서 "baruser"로 로그인한 동안 "ssh foouser@remotesystem"을 사용할 수 있어야 하며 SSH는 키 쌍을 사용하여 인증합니다.

이 시나리오에서는 성공하지 못한 채 키 인증이 작동하도록 하려고 하기 때문에 질문하는 것입니다. 사용자 이름 불일치로 인한 것인지, 아니면 원격 시스템의 SSH 서버 구성 문제로 인한 것인지 확실하지 않습니다.

답변1

네, 설명하신 대로 하시면 됩니다.

baruser@here ~$ ssh-add -l
4096 10:b3:fd:29:08:86:24:a6:da:0a:dd:c6:1e:b0:66:6a id_rsa(RSA)
baruser@here ~$ ssh foouser@remotesystem
motd 메시지 등
foouser@remotesystem ~$

답변2

좀 딴딴하긴 하지만.....

원격 서버에 항상 동일한 사용자 이름을 사용하는 경우 SSH 구성에 호스트를 추가하는 것이 유용할 수도 있습니다.

Host remotesystem
    User baruser

이렇게 하면 로그인할 때 사용자 이름을 지정하는 것을 기억할 필요가 없으며 나중에 키에 문제가 있을 때 이를 배제할 수 있습니다.

답변3

로컬 사용자 이름은 실제로 중요하지 않습니다(개인 키가 로컬 사용자의 홈 디렉터리에 있어야 한다는 점만 제외하면). 키를 원격 사용자 authorized_keys섹션에 복사하면 작동합니다.

답변4

SSH 관련 문제가 있는 경우 가장 먼저 해야 할 일은 클라이언트의 자세한 정보를 설정하는 것입니다.

SSH 사용자@머신 -vvv

이것이 무엇이 잘못되었는지에 대한 통찰력을 제공하지 못하면 서버의 로그 수준을 변경하고 데몬을 다시 시작해야 합니다.

로그레벨 DEBUG3

/var/log/auth.log(또는 ssh가 로그인하도록 구성된 위치)에서 디버그 출력을 찾아야 합니다. 문제를 발견한 후에는 문제를 발견한 방식으로 다시 설정하는 것을 잊지 마십시오.

관련 정보