8,122 views
この記事は最終更新から 2248日 が経過しています。
自宅サーバーへのログインを ID,PW入力から鍵方式に変更しようとしたときのお話です。
(1) OpenSSHで公開鍵と秘密鍵を作成
CentOSサーバー上で、以下の手順で公開鍵と秘密鍵を作成した。
su - hoge cd ssh-keygen # RSA 2048, SHA256で鍵生成 ls -l .ssh # 生成されたファイルを確認 chmod 700 .ssh # ディレクトリのパーミッションを他者に見られないように変更 cd .ssh # ファイル出力されたディレクトリへ移動 cat id_rsa.pub >> authorized_keys # 生成された公開鍵を authorized_keys に追記 chmod 600 authorized_keys # 自分のみRWできるようにパーミッションを変更
【参考】
ssh-keygenで passphraseを指定しなかった場合、
秘密鍵さえあればパスワード無しでログインできてしまう。
(2) クライアント側に秘密鍵を提供
id_rsaの中身を表示し、これをまるまるコピペしてWindowsパソコンでテキストファイルに保存する。
HTTPやFTPでダウンロードできればそれでもよし。
cat id_rsa -----BEGIN RSA PRIVATE KEY----- MpokpweofkpokpoPOKF23ko1e58nNh/u6NILiewjoifejcMsqjNKXl5vmyaImGUi cRe27J9M/xjCupsGcz+GS811XTC8bDNDmeSl8CJ/qUn7V+Joivcwjoij3oifacdH kFgLOicvewoioiadd+IgnkJE8C0KJVNOEWiowijOICMOIJioIdmABykT1DuiOKHD : : : xjhX+o885dl+PO5VOVNOEWiowijOICMOIJioIdmABykT1DuiOKHDCLKIEMOiwem JBCKcoewijoiJOIJW12oiajOiJOCIwefulr9hOwefwefSkzewfVK -----END RSA PRIVATE KEY----- rm id_rsa id_rsa.pub # 生成した鍵ファイルを削除
(3) Puttyで使えるように秘密鍵ファイルを形式変換
これに気づかず2時間以上も彷徨ってしまった。
ここに漂着された方の助けになれば幸いです。
1) PuTTY Key Generator(puttygen.exe)を起動する。
2) [Load] ボタンを押下し、上記(2)でコピペ作成した秘密鍵ファイルを読み込む。
するとこんなメッセージが表示された。
メッセージの内容は以下の通り。
・OpenSSHが出力した古いPEM形式の秘密鍵ファイルだよ。
・PUTTY独自形式に変換するから [Save private key] ボタンを押してね。
3) [Save private key]ボタンを押下し、秘密鍵ファイルを出力する。
(4) 生成した秘密鍵ファイルをPuttyでロード
1) Putty(putty.exe)を起動する。
2) 操作対象の Sessionをロードする。
3) [Connection]-[Data]メニューを選択する。
4) [Auto-login username]に上記(1)で鍵を作成したユーザー名を入力する。
5) [Connection]-[SSH]-[Auth]メニューを選択する。
6) [Browse]ボタンを押下し、上記(3)でPutty独自形式に変換出力した秘密鍵ファイルを指定する。
この状態で [Open] ボタンを押下すればつながる!
おまけ:別解
上記の手順とは逆に、以下の策もある。
1) PuTTY Key Generatorで公開鍵と秘密鍵を生成する。
2) 公開鍵をサーバーに渡す。
詳細はこちらを参照のこと。
PuTTYで公開鍵認証方式でのSSH接続を行う手順まとめ