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

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

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

답변1

개인 키는 집에 남겨두세요. 공개 키 전파:

  • 개인 키를 ~/.ssh(localhost)에 넣으십시오. 일반적으로 입니다 ~/.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]

관련 정보