ホーム > Linux > SSHの鍵の生成と登録 (1)

SSHの鍵の生成と登録 (1)

SSHの鍵についてのメモです。
Linuxのインストールレポートで、ほぼ毎回行うので、まとめておこうと思います。
 
今回はサーバーの設定と、仮にサーバーをクライアント(接続する側)とした場合の、鍵の生成についてです。
以下の手順で進めます。

  1. SSHサーバーのインストール
  2. ファイアウォールの設定
  3. SSHの鍵の生成と登録
  4. SSHサーバーの設定

その他の記事



1. SSHサーバーのインストール
  1-1. OpenSSH Server を Ubuntu 11.10 server にインストールする場合

#tasksel で画面(GUI)で選択しインストールする場合
$ sudo tasksel
  OpenSSH server にチェックをつけ、OK

#tasksel でコマンドライン(CUI)よりインストールする場合
$ sudo tasksel install openssh-server

#aptitude よりインストールする場合
#インストールされているかどうかの事前チェック
$ dpkg -l | grep openssh-server
#インストールされていなければインストールします。
$ sudo aptitude -y install openssh-server


2. ファイアウォールの設定
  2-1. ポートの開放
    sshで使用するポート(デフォルト22)が利用できるように、ファイアウォールを設定します。
    Ubuntu Server の場合 ufw、それ以外のLinux OSなら iptables などを確認します。
 
  2-2. Ubuntu 11.10 server ufw の設定

#状態の確認
$ sudo ufw status
Status: inactive <= ufwが無効になっています。

#ファイアウォールを有効にします。
$ sudo ufw enable

#既定で外部からの通信を、全て拒否するように設定します。
$ sudo ufw default DENY

#ssh(22)を許可するように設定します。
$ sudo ufw allow 22/tcp


3. SSHの鍵の生成と登録
  3-1. 鍵の作成(接続する側(=client))

#SSHの鍵は、ssh-keygenコマンドで作成します。
$ ssh-keygen -t rsa { -C コメント }
  -t rsa は省略可。省略した場合は RSAになります。
  -t dsa とすることで DSA を使うことができます。

#(例)
$ ssh-keygen -t rsa -C メールアドレスなど
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hoge/.ssh/id_rsa):(空白)
Enter passphrase (empty for no passphrase):(任意のパスフレーズ) 
Enter same passphrase again:(任意のパスフレーズ) 
  ~/.ssh/ にid_rsa(秘密鍵)とid_rsa.pub(公開鍵)が作成されます。
  公開鍵は接続先のサーバーに転送し登録します。秘密鍵は厳重に保管します。

  3-2. 公開鍵の転送(接続する側(=client)から接続される側(=server)に転送)
    転送はフロッピーやUSBなどのメディアを使うか、scpコマンドやWinSCP等の転送ツールを利用します。
    またPuTTYやTeraTermなどのターミナルの機能で貼り付けることもできます。
    大事なのは、途中の経路で漏洩しないことです。
    (反対に漏洩のリスクがなければFTPでも構いませんが、それならSSHも使わないだろうと言うことで。)

#(例)scpコマンドの例
$ scp ~/.ssh/id_rsa.pub user_name@server_name:/tmp/user.pub

  3-3. 公開鍵の登録(接続される側(=server)で設定)

#転送したファイルを登録(追記)します。
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

  3-4. パーミッションの設定

#自分のみ読み書き可能になるようにパーミッションを設定します。
#(例)クライアント側
$ chmod 600 ~/.ssh/id_rsa*
$ chmod 700 ~/.ssh/

#(例)サーバー側
$ chmod 600 ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh/


4. SSHサーバーの設定
  4-1. 設定ファイルの設定(Ubuntuの場合)

#configファイルをバックアップします。
$ sudo cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_yyyymmdd
  yyyymmddはバックアップした日付を、ファイル名の末尾につけています。

#configファイルを編集します。
$ sudo vi /etc/ssh/sshd_config
    以下の通り修正し保存します。
    PermitRootLogin no          <= rootによるログインを禁止
    PasswordAuthentication no   <= パスワードによるログインを禁止
    PermitEmptyPasswords no     <= 空のパスワードを禁止

#サービスを再起動します。
$ sudo /etc/init.d/ssh restart

 

カテゴリー:Linux タグ: , , , ,
  1. まだコメントはありません。
  1. No trackbacks yet.

コメントを残す