ssh-keygen
によって生成されたSSH秘密鍵には、公開鍵部分が含まれています。秘密鍵からこの公開鍵を取得するにはどうすればよいですか?公開鍵を失ったため、この公開鍵の内容をサーバーのauthorized_keys
ファイルに配置する必要があり、新しい鍵ペアを作成したくありません。
または、id_rsa.pub
ファイルからid_rsa
ファイルを作成するにはどうすればよいですか?
サーバー障害に関する答えが見つかりました:秘密鍵から公開SSH鍵を作成しますか?
オプション-y
は公開鍵を出力します:
ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub
補足として、公開鍵のコメントは失われます。コメントが必要なサイト(Launchpad?)があるので、~/.ssh/id_rsa.pub
を編集し、コメントとキーデータの間にスペースを入れて最初の行にコメントを追加する必要があります。公開キーの例を以下に切り捨てて示します。
ssh-rsa AAAA..../VqDjtS5 ubuntu@ubuntu
SSHエージェント(バックグラウンドで実行され、何度もキーファイルパスフレーズを再入力する必要のないプログラム)に追加されたキーの場合、ssh-add -L
コマンドを使用して公開キーを一覧表示できます。 (ssh-add -l
を介して)エージェントに追加されたキー。これは、SSHキーがスマートカードに保存されている場合に役立ちます(秘密キーファイルへのアクセスは不可能です)。
これは、Windowsを使用してリモートマシンにSSHするためのユーザー向けのソリューションであり、Amazon AWSおよびGCEのクラウドイメージを含みます。
最近、このソリューションを使用して、GCEに新しくデプロイされたVMイメージにリモートでログインしました。
キー/ペアを生成するか、既存の秘密キーを使用します。
秘密鍵がある場合:
Puttygenを開き、ロードボタンを押して、プライベートキー(* .pem)ファイルを選択します。
しない場合秘密鍵がありません:
新しい「authorized_keys」ファイルを作成します(メモ帳で):
PuTTY Key Generatorの「OpenSSH authorized_keysファイルに貼り付けるための公開鍵」セクションから公開鍵データをコピーし、鍵データを「authorized_keys」ファイルに貼り付けます。
このファイルにテキストが1行しかないことを確認してください。
Linuxサーバーにキーをアップロードします。
Authorized_keysファイルをリモートマシンのホームディレクトリにアップロードします。
適切な許可を設定します。
.ssh
ディレクトリを作成します(存在しない場合)
authorized_keys
ファイルを.sshディレクトリにコピーします(これにより、既存のauthorized_keys
ファイルが置き換えられます。これに注意してください)。
ファイルが存在する場合は、このファイルの内容を既存のファイルに追加するだけです。
コマンドを実行して権限を設定します。
Sudo chmod 700 .ssh && chmod 600 .ssh/authorized_keys
これで、毎回資格情報を入力しなくても、リモートマシンにSSH接続できます。