`localhost`로 SSH를 연결하려면 Authorized_keys 파일은 어디에 있어야 합니까?

`localhost`로 SSH를 연결하려면 Authorized_keys 파일은 어디에 있어야 합니까?

공개/개인 키 설정이 있지만 어디로 가야 할지 모르겠습니다. ~/.ssh/내 사용자를 위해 이 두 파일을 모두 배치해야 합니까 ?

답변1

개인 키는 집에 있습니다. 공개 키는 다음과 같이 이동합니다.

  • 개인 키를 ~/.ssh(로컬 호스트)에 넣으세요. 일반적으로 입니다 ~/.ssh/id_rsa.
  • 공개 키를 ~/.ssh/authorized_keys(원격 호스트)에 넣으십시오.

첫 번째 단계는 일반적으로 키를 생성할 때 자동으로 수행되지만 두 번째 단계는 다음을 통해 수행할 수 있습니다.

$ ssh-copy-id ~/.ssh/id_rsa.pub user@remotehost

원격 호스트와 관련된 잔여 구성이 있는 경우 이로 인해 문제가 발생할 수 있습니다(인증 실패 또는"인증 실패가 너무 많습니다"). 이 문제를 해결하려면 다음을 ssh-copy-id사용하여 비밀번호 인증을 강제로 사용할 수 있습니다.

$ ssh-copy-id -o"PubkeyAuthentication no" ~/.ssh/id_rsa.pub user@remotehost

물론, 키가 올바르게 배치되면 더 이상 비밀번호가 필요하지 않습니다.

$ ssh user@remotehost

~/.ssh/config더 간단하게 만들기 위해 일부 SSH 구성을 추가할 수도 있습니다 .

Host [custom name for the remote machine]
    Hostname [remote hostname or IP]
    User [remote username]
    IdentityFile /home/[your local user]/.ssh/id_rsa

덕분에 다음을 입력하여 원격 호스트에 로그인할 수 있습니다.

$ ssh [custom name for the remote machine]

편집: 두 시스템(로컬 및 원격)이 동일한 경우 다음을 사용하여 절차를 단순화할 수 있습니다.

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

그러면 공개 키가 authorized_keys파일에 추가됩니다. 물론 로컬 컴퓨터에서 다른 사람으로 로그인하는 또 다른 방법은 다음을 사용하는 것입니다.

$ su [another user]

이렇게 하면 필요하지 않은 SSH 트랜잭션이 저장됩니다.비밀번호 없는 설정은 다음을 su사용하여 설정할 수 있습니다.sudo:

$ sudo -iu [another user]

관련 정보