ubuntuにssh serverのインストール

毎回忘れるのでメモ。

まずopen-sshをインストールする。

sudo apt-get install open-ssh

sshの設定ファイルは/etc/ssh/sshd_configにある。幾つか設定しておくべき項目として、

PermitRootLogin no

にする。さらに以下を設定してパスワードでのログインを禁止。

PasswordAuthentification no

パスワード認証は危険なので基本的に使わない。

以上の設定で、鍵を使わないとログインできないようになった。
鍵でのログインをするために、鍵の生成と登録を行う。
鍵の生成は、Ubuntuなら

ssh-keygen

とすると以下のようなメッセージがでる。

Generating public/private rsa key pair.
Enter file in which to save the key (/home/username/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

一行目は鍵の保存場所。()の中はデフォルトの保存先なので特に変更がなければ空Enterで良い。
2行めは鍵を使用するためのパスフレーズ。鍵を使用するためのパスワードのようなものなので適当に設定する。
3行めは2行めと同じものを入れれば良い。
以上で、1行めで設定した場所に鍵が生成される。デフォルトならば、id_rsaとid_rsa.pubである。.pubの方をサーバーに登録する。
サーバーで以下を実行する。

cat id_rsa.pub >> ~/.ssh/authorized_keys

で良い。id_rsa.pubは不要なので削除する。

sshでの接続先を制限するために/etc/ssh/ssh_configを編集する。

Host *

となっている部分を接続させたいHostに書き換える。例えば、

Host 192.168.1.1

などである。