SSH Secure Shell

暗号や認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコル。
パスワードなどの認証部分を含むすべてのネットワーク上の通信が暗号化される。

WinSCPPuTTYを使用するのに必要。
FreeBSDではディフォルトでインストールされているが、設定しないと動作しない。

 

☆ rc.conf の設定

OS起動時にSSHが立ち上がる設定にする。

vi /etc/rc.conf
sshd_enable="YES"

 

sshを起動

/etc/rc.d/sshd start

これでもう、sshは使える状態になっている。
メインシステムの場合は[sshd_enable=”YES”]を設定しておけばOS再起動しただけでもSSHは立ち上がるが、qjail環境の場合は必ず最初の一度は手動で立ち上げなければ動かない。また、qjail上での設定では、IPアドレスを設定しておく必要がある。

 

☆ sshd_configの設定

vi /etc/ssh/sshd_config

 

メインシステムでは特に必要ないが、qjail環境下などでは、IPアドレスを明確に設定する必要がある。『**』の部分はqjail環境に設定した数字を設定する。

ListenAddress 192.168.1.**

 

OSインストール直後、まだユーザーを登録してない場合などには、rootでアクセス出来る設定にする必要もある。

PermitRootLogin yes

管理者になれるユーザーを作成してから、この設定を再び無効にすると良い。
設定が終わったらSSHを再起動する

/etc/rc.d/sshd restart

 

公開錠作成

SSHでのアクセスの場合、基本的にはユーザー名とパスワードでログインすることが可能ですが、逆のことを言えば誰でもアクセスまでは出来るんで、パスワードをしつこく当たられるとログインされてしまう可能性は少ないながらも在ります。その回避策として鍵と錠を使った方法があります。ユーザー数が多すぎると面倒ではありますが、少数のユーザーしか扱わないような個人サーバーでは設定しておくほうが安心できると思います。

vi /etc/ssh/sshd_config

 

設定を追加します。

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

 

SSHを再起動

/etc/rc.d/sshd restart

 

キーの作成

ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.

特に何も入力して無く、ただEnterを押しているだけでファイルは完成。Passwordだけは設定しても良かった感じだが・・・

表示されている通り『/root/.ssh/』の下に『id_rsa.pub』『id_rsa』のファイルが作成される。

 

cd /root/.ssh/
cat id_rsa.pub >> authorized_keys
rm id_rsa.pub
chmod 600 authorized_keys

『authorized_keys』に関しては、元のファイルが無ければ単に『id_rsa.pub』をリネームしても問題ない。作成されたファイルはパーミッションを600に変更して、他のユーザーから見えないように設定。

後は『id_rsa』を別のところへ移動して管理し、サーバーへアクセスするPCへコピーして使います。

基本的には、サーバーへアクセスする為のソフトウエアには『認証』『公開錠』『秘密錠』などと言った設定項目が有るので、そうした所から『id_rsa』が置かれた場所を指定してやれば、後は意識すること無く使う事が出来るようになる筈です。

Androidの場合は『id_rsa』のファイルをそのまま使う事が出来ますが、Windowsの場合は『puttygen』等を使って、内容を変更しなければ使えないので注意。
(MacやiOSの場合は、Android同様に、ファイルをそのまま使う事が出来ると思いますが調べる環境が無いので未確認です)

 

『id_rsa』ファイルの移動やら、一通りの動作確認が出来たら、ユーザー名とパスワードによるアクセスを禁止にします。

vi /etc/ssh/sshd_config
PasswordAuthentication no

ChallengeResponseAuthentication no
/etc/rc.d/sshd restart

これでもう、公開錠以外のアクセスする方法が無くなりました。

 

 

 

小声で戯言:
sshで直接 rootでアクセス出来ないように設定にする理由として、セキュリティ上の問題とか書いてあるのを結構多く見かけるのですが間違いですよねぇ?普通に考え れば、不正アクセスのリスクを軽減するための対策の1つのはずで、始めからセキュリティに不備を抱えている訳ではない。ssh自体もセキュリティに不備を抱えている訳でもないのに『○○はsshセキュリティが甘い』なんて平然と言ってる人もいる。一部のLinuxでは、デ フォルトでssh経由でrootアクセスが出来るようになっていますので、それを指して言ってるんでしょうけど・・・。誰もが同じ環境でサーバ運用している訳ではない筈だが、運用形態による設定の違いを許さない雰囲気が、このsshの設定には有るように感じます。
『rootで操作するのは危険だから』とか言われていた時期もあったりします。設定変更で追うリスクは、rootもsuもsudoも変わらないんですけどね。

 

役に立ちましたか?
  • 役に立った (0)
  • 少しだけ (0)
  • これじゃない! (0)