Ubuntu構成ssh鍵ログイン

2512 ワード

Linuxのsshでよく使われるログインフォーマットはこうです
ssh [-p port] user@remotehost

このように毎回パスワードを入力しなければならなくて、もちろんこのようなパスワードは忘れにくいです(ほほほ).
本論文の参考
1.鍵の作成
鍵を使用してログインするには、まず非対称暗号化鍵のペアを作成する必要があります.ubuntuが持参したssh-keygen鍵生成ツールを使用して生成します.
ssh-keygen -t rsa

コンソールは、次の順序でユーザーと対話して鍵の生成を完了します.
  • 鍵対格納ディレクトリ(デフォルト~/.ssh/ディレクトリ下のid_rsaファイル)
  • .
  • 秘密鍵の暗号化パスワード(秘密鍵を他人に盗まれた後に乱用されないように保護するために使用される)
  • .
    2.公開鍵をサーバにアップロードするscpコマンドを使用して公開鍵をアップロードできます.もちろん、Ubuntuは公開鍵をアップロードし、対応する構成を自動的に完了するためのツールを提供します.
    ssh-copy-id [-i identity_file] [-p port] user@remotehost

    アップロードが完了したらサーバにログインし、~/.ssh/authorized_を確認します.keysファイルに重複鍵が追加されているかどうか、authorized_keyファイルの権限は、その所有者のみが読み書きする必要があります(権限600)
    3.ローカルで秘密鍵ファイルをssh-agentに追加
    ssh-agentに秘密鍵を追加しなかった場合、次のエラーが表示されます.
    sign_and_send_pubkey: signing failed: agent refused operation

    操作方法は、まず現在のbashでssh-copy-id環境に入る
    ssh-agent bash

    その後、ssh-agentを使用してssh-agentに秘密鍵を追加します.
    ssh-add [private_key_file]

    4.IP、ユーザー名、ポートの構成(バインド)
    鍵ペアが構成されていても、sshを用いてログインする際にはポート番号とユーザ名を付加する必要がある(もちろん、デフォルトポート22とユーザ名が重複している場合は不要).ip/ユーザ名/ポートを以下の方法で予め構成(バインド)する
    vim ~/.ssh/config

    次の情報をプロファイルに書き込む
    Host "remote ip"
    User "username"
    Port "port" 

    以上の操作が完了すると、以下のコマンドを簡単に使用してサーバにログインすることができる.
    ssh remote_host