2013年5月10日金曜日

Ubuntu 13.04 で sshサーバーをインストールする

Ubuntuでtelnetd をインストールしたので、別のパソコンからtelnet で接続できるようになりました。今度はもうちょっとセキュリティの高いsshd をインストールして,sshサーバーを構築しようと思いました。


以下のコマンドでsynapticを起動しました。その後、sshd を検索しました。するとopenssh-server が検索で見つかりましたので、適用ボタンを押してインストールしました。

sudo synaptic





















これでサーバのインストールが終わったので、クライアントからssh でログインできるかどうかを試してみました。クライアントは、WindowsXP上で動作するteraterm を選びました。

まずはパスワードだけで接続できることがわかりました。

次に鍵を使って接続することを試みました。まずはサーバ上で以下のコマンドを実行して秘密鍵と公開鍵のペアを作成しました。

ssh-keygen


作成した公開鍵と秘密鍵のうち、秘密鍵(id_rsa)のほうはUSBメモリにコピーしてクライアントのパソコンのほうに持っていきました。公開鍵(id_rsa.pub)のほうは以下のようなコマンドにより、.sshの配下のauthorized_key というファイルに追加してやります。


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


これで、クライアントから秘密鍵を指定してログインできるようになりました。(鍵のペアをクライアント側で作成して、公開鍵のほうを、サーバーにコピーするという方法もあるようです。)

なお、ユーザーIDによっては、何回やってもログインできないものがあったのですが、ログインできない原因は、/var/log/auth.logのログを調べることで解決できました。


また、sshdの設定は、設定ファイル/etc/ssh/sshd_config を書き換えてから次のようなコマンドを入力することにより変更が可能です。

sudo /etc/init.d/ssh reload


例えば、プレインパスワードによるログインを禁止して、鍵によるログインだけを許可する場合には設定ファイルに以下のような行を記述します。

PasswordAuthentication no

0 件のコメント:

コメントを投稿