SSH 비밀번호가 서버에서 비활성화되어 있고 "old_key.pem" 파일에 개인 키가 있고 서버에 이미 공개 키가 있다고 가정해 보겠습니다.
이제 "new_key.pub" 및 "new_key.pem" 키의 새로운 쌍을 생성했으며 비밀번호 대신 "old_key.pem"을 사용하여 이 .pub 키를 서버에 보내고 싶습니다. 이것이 가능합니까? 그렇다면 어떻게?
내가 직면하고 있는 문제는 매개 -i
변수가 "new_key.pub"에서 사용되는데 이제 "old_key.pem"을 사용하여 자신을 인증할 수 없다는 것입니다.
답변1
ssh-copy-id
이미 유효한 공개 키가 있는 경우에는 사용하지 마십시오. 다음과 같이 하십시오:
ssh -i ~/.ssh/old_key [email protected] 'cat >> ~/.ssh/authorized_keys' < ~/.ssh/new_key.pub
답변2
문서를 읽는 방식에 따르면 다음 을 사용 ssh-agent
하면 ssh-copy-id
아직 작동하지 않는 모든 키가 여기에 설치됩니다 .
# spawn a new agent for this so we know it's not keeping keys
$(ssh-agent)
# add keys
ssh-add new-key.pem old-key.pem
# check if those keys made it in
ssh-add -l
# and now add extra keys
ssh-copy-id user@remote
# stop the extra ssh-agent
kill $SSH_AGENT_PID