ssh를`localhost`로하려면 authorized_keys 파일은 어디에 있어야합니까?

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

답변

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

  • 개인 키를 ~/.ssh (로컬 호스트)에 배치합니다. 일반적으로 ~/.ssh/id_rsa입니다.

li>

  • 공개 키를 ~/.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 

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

    $ ssh user@remotehost 

    를 사용하면 더욱 간단 해집니다.

    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 트랜잭션을 저장할 수 있습니다. . 비밀번호없는 susudo 를 사용하여 설정할 수 있습니다.

    $ sudo -iu [another user] 

    댓글

    • ssh localhost?
    • @MrDuk이 경우 로컬 및 원격 끝은 모두 동일한 시스템입니다. 따라서 로컬에서 ~/.ssh/authorized_keys 내에 공개 키가 있어야합니다. 이를 위해 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys를 사용할 수 있습니다. 내 답변을 수정했습니다.
    • 답변 이후 상황이 변경되었을 수 있지만 첫 번째 명령에 -i를 추가해야 전체 명령이 $ ssh-copy-id -i ~/.ssh/id_rsa.pub user@remotehost.

    답글 남기기

    이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다