sshの設定
sshの設定でちょっとつまづいたのでメモ。
インストール
# aptitude update
# aptitude install ssh
◆クライアント側の設定
公開鍵と秘密鍵のペアを作成
$ ssh-keygen -t rsa
保存先を聞かれるがデフォルト(~/.ssh/)で問題なし。 passphraseの設定は空でも可らしい。適当に。
次に、作成した公開鍵(~/.ssh/id_rsa.pub)をサーバ側に転送する。
$ scp ~/.ssh/id_rsa.pub (username)@(hostname):~/.ssh/
そんなフォルダないと言われたら、サーバ側で操作してフォルダを作ってから転送。
$ mkdir ~/.ssh
それからssh-agentという公開鍵認証で使われるカギを保持するプログラムに先ほど作った秘密鍵を追加する。 (←ここらへんよくわってないのでほとんどおまじない状態)
$ ssh-add ~/.ssh/id_rsa
先ほど設定したpassphraseを入力して、クライアント側の設定は終わり。
◆サーバ側の設定
クライアント側から転送した公開鍵をサーバ側に登録する。
$ cd ~/.ssh
$ cat id_rsa.pub >> authorized_keys
これでひと通りの設定が終わったので再起動
# /etc/init.d/ssh restart
クライアント側でログインしてみる。
$ ssh (username)@(hostname)
設定に問題がなければpasswordなしでログインできるはず。
無事password無しでログインできたら、サーバー側で設定ファイルをいじる。
$ vim /etc/ssh/sshd_config
□Port 22の22を適当な数字に変更。(ポートをデフォルトの22から変更。ログがたくさん出て大変なので。)
□PermitRootLogin yesのyesをnoに変更。(Rootログインを禁止する。)
□PasswordAuthentication yesのyesをnoに変更。(パスワードログインの禁止、公開鍵でのログインのみできるようにする。)
以上三箇所の変更が済んだら保存し、変更を有効にするために再起動する。
# /etc/init.d/ssh restart