SSHの鍵の生成と登録 (1)
SSHの鍵についてのメモです。
Linuxのインストールレポートで、ほぼ毎回行うので、まとめておこうと思います。
今回はサーバーの設定と、仮にサーバーをクライアント(接続する側)とした場合の、鍵の生成についてです。
以下の手順で進めます。
- SSHサーバーのインストール
- ファイアウォールの設定
- SSHの鍵の生成と登録
- 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
コメント (0)
Trackbacks (0)
コメントを残す
トラックバック