はしくれSEめも

SEに必要情報をめも程度に残していこうと思っています。

【ssh】公開鍵認証 設定~接続まで

f:id:coogi-se:20210804234910p:plain

環境

今回は以下の環境でのメモ。


◆サーバー CentOS Linux release 7.4.1708
 ⇒既にインストール済みの「OpenSSH」で設定。


◆クライアント Windows 7 Professional
 ⇒「RLogin」を使用して接続。


鍵の作成

ssh-keygenの実行

サーバー側で以下のコマンドを実行し、鍵を作成。
※ログイン者は、sshで接続する際のユーザとする。(今回は、「hoge」とする)


$ ssh-keygen -t rsa -b 4096


-t:鍵の種類を指定します。 rsa を指定すると、SSHプロトコルバージョン2のRSA鍵が作成されます。公開鍵暗号方式は主にRSAが使用されています。


-b:鍵のsize(bit)を指定します。2048bit以上なら問題ない強度ですが、より強固にする為に今回は、4096bitを指定します。


パスフレーズの設定

秘密鍵に設定するパスフレーズの入力を求められるので、2回入力します。
このパスフレーズ秘密鍵の使用時(SSHログイン時)に必要であり、接続先の端末には送信されません。


Enter passphrase (empty for no passphrase):
Enter same passphrase again:

authorized_keysを作成

上記までを実行すると、秘密鍵と公開鍵が作成される。

  1. ~/.ssh/id_rsa秘密鍵
  2. ~/.ssh/id_rsa.pub:公開鍵


# id_rsa.pub`を`authorized_keys` にリネーム。
$ mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

# 所有者以外のアクセスを許可しないよう設定。
$ chmod 600 ~/.ssh/authorized_keys

接続

~/.ssh/id_rsaをどうにかしてクライアントへ転送します。

※私は「RLogin」で、事前にパスワード認証で接続させ、SFTPでファイル転送しました。こうすれば、パスワード認証を禁止にした際の確認用にもなる。

RLoginの設定

「RLogin」を起動し、以下の設定後に接続。

※「RLogin」を持っていない人は、以下からダウンロード。 http://nanno.dip.jp/softlib/program/rlogin_x64.zip

  1. プロトコルssh
  2. ホスト名:サーバーのIPアドレス
  3. TCPポート:ssh(22)
  4. ログインユーザ名:hoge
  5. パスフレーズ:②で入力したもの
  6. SSH認証鍵:ファイルパスをid_rsaに設定
  7. デフォルト文字セット:UTF-8

コマンドが打てる状態になれば、接続成功です。

注意

今回は「ファイアーウォール」の設定を省きましたが、

ポート:22のデフォルトは、許可になっていると思います。

接続がうまくいかない場合は、「ファイアーウォール」を疑ってください。