回答:
サーバー障害:秘密キーから公開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キーがスマートカードに保存されている場合に役立ちます(秘密キーファイルへのアクセスは不可能です)。
~/.ssh/id_rsa
はユーザー名に制限する必要があることに注意してください。$ sudo chmod 600 ~/.ssh/id_rsa
ルート認証情報を使用および入力して制限し、公開鍵ファイルを出力できます。そうしないと、無制限の秘密鍵ファイルの警告が表示されます。
sudo
、あなたはすでに秘密鍵を所有しているはずです。そうしないと、そもそも読むことができません。
400
、タイプ秘密鍵ファイルに書き込む必要がないため、推奨されます。修正されたコマンドは$ chmod 400 ~/.ssh/id_rsa
id_rsa
ファイル)にはコメントはありませんが、実際には公開鍵ファイル(id_rsa.pub
)内のコメントは失われます。
これは、Windowsを使用してリモートコンピューターにSSHで接続するユーザー向けのソリューションです。AmazonAWSおよび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接続できます。
pbcopy > ~/.ssh/id_rsa.pub
おっと。