SSH를 사용하여 연결할 수 있도록 원격 서버의 개인 키를 로컬 컴퓨터로 올바르게 복사하려면 어떻게 해야 합니까?

SSH를 사용하여 연결할 수 있도록 원격 서버의 개인 키를 로컬 컴퓨터로 올바르게 복사하려면 어떻게 해야 합니까?

sshLinode와 Siteground에 연결, 비밀번호가 있는 여러 개의 원격 서버가 있습니다 . 예전에는 Windows와 Putty를 사용하여 원격 서버에 연결했는데 지금은

Ubuntu 18.04를 사용하여 openssh-server를 설정했지만 이제 시도하면 Permission Denied(Public key) 오류가 발생하는 것 같습니다.ssh [email protected]

내 로컬 컴퓨터의 원격 서버에서 개인 키를 복사해야 하는데, 키를 정확히 어디에 넣어야 할지, 연결할 수 있도록 키를 추가하는 방법을 잘 모르겠습니다.

답변1

첫 번째아니요개인 키를 원격 서버에 넣으십시오. 이 서버를 손상시키는 사람은 누구나 귀하가 갖고 있는 모든 액세스 권한을 갖게 됩니다.

이것은 더 이상 문제가 되지 않습니다. 두 가지 옵션이 있습니다.

  1. 새 로컬 컴퓨터에 새 개인 키를 만듭니다. 그런 다음 복사사람들키(개인 키와 함께 제공되거나 개인 키에서 생성될 수 있음) 서버에. 을 입력한 경우 ~/.ssh/authorized_keys한 줄에 하나씩 추가하므로 이전 항목(또는 )을 덮어쓰지 마십시오 use ssh-copy-id.
  2. 이전 로컬 컴퓨터에서. 퍼티를 사용하여 개인 키를 open-ssh 형식으로 내보낸 다음 새 로컬 시스템(openssh 실행)에 복사하도록 지시합니다. 그것은 ~/.ssh/내 디렉토리 file 에 들어갑니다 id_rsa.

답변2

노트:개인 키를 원격 서버에 복사하고 싶지 않고, 개인 키를 확인할 수 있도록 키 쌍의 공개 키를 원격 서버에 추가하려고 합니다.


원격 서버에서 계정을 부트스트랩하려면 일반적으로 ssh-copy-id이것을 사용합니다.

$ ssh-copy-id
Usage: /usr/bin/ssh-copy-id [-h|-?|-f|-n] [-i [identity_file]] [-p port] [[-o <ssh -o options>] ...] [user@]hostname
    -f: force mode -- copy keys without trying to check if they are already installed
    -n: dry run    -- no keys are actually copied
    -h|-?: print this help

용법

$ ssh-copy-id -i /path/to/id_rsa.pub <user>@<server>

$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
/usr/local/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/Users/user1/.ssh/id_rsa.pub"
/usr/local/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/local/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:

Number of key(s) added:        1

Now try logging into the machine, with:   "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.

노트:여러 서버에서 이 작업을 수행해야 하는 경우 내 Q&A 제목을 참조하세요.비밀번호를 반복해서 입력하지 않고도 SSH 공개 키를 서버 목록에 전파하려면 어떻게 해야 합니까?.

관련 정보