Twitterに投稿 はてなブックマークに追加 Yahoo!ブックマークに追加 Google Bookmarksに追加

目次 >> SSH >> sshd

SSHデーモンの設定

SSHサーバの設定は、/etc/ssh/sshd_configファイル内で行う。通常はデフォルトの設定で、sshdを起動すれば使えるはずである。なお、OSをインストールした時点では、sshdは自動起動するようになっていないものも多い。

接続できない!

接続できないのは、大抵、ファイアウォールがブロックしているか、sshd自体が起動していないことが多いので、まずはその確認を。

Fedoraではインストールした時点では自動起動しないのでOS起動時に自動的に起動するようにするには、rootで

# chkconfig sshd on

と打つ。

ssh関係ファイルのアクセス権

まず、/home/foo/.ssh、id_rsa、authorized_keysファイルは、600に設定する。

また公開鍵認証を行いたい場合は、ホームディレクトリ(/home/foo)のアクセス権の内、groupとotherの書き込み権を切っておかなければならない。すなわち755か設定可能な最大のアクセス権である。

sshのポート番号を変えてsshへの攻撃を防ぐ

もしsshのポート番号を変えることができるようであれば、変えてしまった方がssh経由の攻撃を受けるリスクはずっと低くなる。

変更方法は、/etc/ssh/sshd_config内の

#Port 22

とコメント化されている行を

Port 22222

の様に変更して、再起動する。(この場合は22222番ポートを指定している。)

圧縮転送を指定するとsshに接続できない

sshサーバの設定でCompressionの項目のデフォルト値はdelayedになっている。
最近のディストリビューションはこのデフォルト値を採用しているものが多いが、この設定だといくつかのsshクライアントでは圧縮転送を指定すると接続できない。その場合、/etc/ssh/sshd_configファイル内で

Compression yes

とすることによって、接続できるようになる。

接続に時間がかかる

IPアドレスからリモートホスト名を逆引きできないような環境からアクセスしている場合、逆引きを試みる時間分だけ時間がかかる。
この場合、

UseDNS no

と設定すると、逆引きを行わなくなる。

sshでは接続できるが、sftpで接続できない

/etc/ssh/sshd_config内のSubsystem sftp /usr/libexec/openssh/sftp-serverで指定しているsftp-serverの位置が間違えている。

再起動を忘れずに

上記の設定をしたら、設定を反映させるためにはsshdを再起動する。通常、リモートからsshdを再起動しても、切断はされないようである。

$ sudo /etc/init.d ssh restart



本文中のFC4はFedora ProjectのFedora Core 4を、FC5はFedora Core 5を、FC6はFedora Core 6をopenSUSEはNovellのSUSE Linux OSSを表します。Fedora7以降は、単にFedora7、Fedora8、Fedora9、Fedora10、Fedora11、Fedora12、Fedora13、Fedora14、Fedora15と表示しています。Ubuntuは、必要に応じて10.04、11.04のようにバージョン番号をつけて区別しています。MandrivaはMandriva Linuxを表します。

ここに登場するドメイン名やIPアドレスなどはフィクションです。実在の人物・団体等とは一切関係がありません。
実際に使用する際は、各自の環境に合わせて書き換えてください。
もし何か間違いなどありましたらこちらからご連絡ください
リンクに許可は不要です。
Copyright (C) 2011 Chikuma Engineering Co., Ltd. All Rights Reserved.