≫SSH とは
SSH とは、Secure SHell の略で、Telnet と同じようにサーバを遠隔(リモート)操作することが可能です。
Telnet がその通信内容を平文でやり取りするのに対して、SSH は通信を暗号化することで安全性の高い操作を実現しています。
リモート操作では、ログインパスワードやサーバの情報など大切な情報を扱うことが多いので、できるだけ Telnet は使用せず、SSH を使いましょう。
SSH は、サーバ側の設定はもとよりクライアント側でも多少の設定が必要です。これは、暗号化のためのキーをサーバ側とクライアント側の双方で持たなければならないためです。
設定さえ済めば、日頃の操作は Telnet も SSH も変わりません。
慣れてくれば、サーバの管理作業のほとんどをこの SSH を使って行うようになると思います。
Telnet がその通信内容を平文でやり取りするのに対して、SSH は通信を暗号化することで安全性の高い操作を実現しています。
リモート操作では、ログインパスワードやサーバの情報など大切な情報を扱うことが多いので、できるだけ Telnet は使用せず、SSH を使いましょう。
SSH は、サーバ側の設定はもとよりクライアント側でも多少の設定が必要です。これは、暗号化のためのキーをサーバ側とクライアント側の双方で持たなければならないためです。
設定さえ済めば、日頃の操作は Telnet も SSH も変わりません。
慣れてくれば、サーバの管理作業のほとんどをこの SSH を使って行うようになると思います。
≫SSH のインストール
SSHがあるかどうか。
openSSH と openSSL が入ってれば問題ナシ。
rpmの場合
aptの場合
tar からのチャレンジャーは…
OpenSSL
OpenSSH
SSHの入っていないディストリってあるのだろうか?
| # rpm -qa | grep openss |
openSSH と openSSL が入ってれば問題ナシ。
rpmの場合
| # rpm -ivh open* |
aptの場合
| # apt-get install ssh |
tar からのチャレンジャーは…
OpenSSL
|
# tar xvfz ssl-X.X.XX.tar.gz # cd ssl-X.X.XX ssl-X.X.XX# ./configure ssl-X.X.XX# make ssl-X.X.XX# make test ssl-X.X.XX# make install |
|
# tar xvfz ssh-X.X.XX.tar.gz # cd ssh-X.X.XX ssh-X.X.XX# ./configure ssh-X.X.XX# make ssh-X.X.XX# make install |
SSHの入っていないディストリってあるのだろうか?
≫SSHdの設定
Webmin で設定します。
[サーバ] - [SSH Server] - [Authentication]
「Allow RSA authentication?」で 「◎はい」 を選択します。「保存」
[サーバ] - [SSH Server] - [Networking]
「Listen on addresses」で「◎Entered below ..」を選択し、すぐ下のフォームの「Address」にアクセスするIPアドレスを入力、「Port」は「◎デフォルト」でOKです。
同じく「Accept protocols」で「SSH v1」をチェックします。「保存」
[サーバ] - [SSH Server] - [Access Control]
「Only allow users」テキストボックスにログインするユーザ名を記入します。複数記入する場合は、半角スペースで区切ります。「保存」
[SSH Server] の画面左下の「Apply Changes」で設定を有効にします。
続いて、マシン起動時に SSHd が自動的に立ち上がるように設定しましょう。
Webmin で設定するなら
[システム] - [起動及びシャットダウン]
□sshd をチェックして、「Start Selected」ボタンを押す。
コンソールで設定するなら
[*] sshd
ちなみに、設定ファイルを直接いじりたいという方は /etc/ssh/ の中を覗いてみて下さい。
[サーバ] - [SSH Server] - [Authentication]
「Allow RSA authentication?」で 「◎はい」 を選択します。「保存」
[サーバ] - [SSH Server] - [Networking]
「Listen on addresses」で「◎Entered below ..」を選択し、すぐ下のフォームの「Address」にアクセスするIPアドレスを入力、「Port」は「◎デフォルト」でOKです。
同じく「Accept protocols」で「SSH v1」をチェックします。「保存」
[サーバ] - [SSH Server] - [Access Control]
「Only allow users」テキストボックスにログインするユーザ名を記入します。複数記入する場合は、半角スペースで区切ります。「保存」
[SSH Server] の画面左下の「Apply Changes」で設定を有効にします。
続いて、マシン起動時に SSHd が自動的に立ち上がるように設定しましょう。
Webmin で設定するなら
[システム] - [起動及びシャットダウン]
□sshd をチェックして、「Start Selected」ボタンを押す。
コンソールで設定するなら
| # ntsysv |
[*] sshd
ちなみに、設定ファイルを直接いじりたいという方は /etc/ssh/ の中を覗いてみて下さい。
≫SSHクライアント
Windows 前提ですが、3つほど。
≫RSA暗号キーを作成
Tera Term Pro + TTSH で、SSHd を利用する際にユーザ認証をRSA暗号を使って行うために暗号キーをサーバ側とクライアント側双方に設置します。
まずは、DSA暗号キー生成。
ずらずらっと英文が出てきて、
Enter passphrase (empty for no passphrase):
と入力待ちになったらパスフレーズを入力する。これは認証用のパスワードのようなもの。
Enter same passphrase again:
同じ物を再入力。
またずらずらっと英文が出てきて終了。
次に RSA暗号キーの生成。
先ほどと同じようにパスフレーズを2回入力して終了。
ユーザディレクトリの中の /.ssh/ というフォルダが出来ていると思います。
さらにその中に
identity.pub
identity
というふたつのファイルが出来ていると思います。
identity.pub がいわゆる公開鍵。identity がいわゆる秘密鍵というものです。
identity は秘密鍵という名の通り秘密にしなければなりません。決して外部に公開されるような場所に置いたりしてはいけません。
identity.pub は同じディレクトリに authorized_keys という名前でコピーしておきます
これで、サーバ側の設定はひとまず終了。
続けて、先ほど作った秘密鍵 identity をクライアントに設置します。
設置するのは、Tera Term Pro のインストールフォルダの中です。
例えば、C:\Program Files\ttermpro\identity
次に、Tera Term Pro を起動します。
とりあえずキャンセルします。
メニューから [Setup] - [SSH] を選択。
[SSH Known Hosts] の [Read/write file:] を選択し、右のテキストボックスは例えば C:\Program Files\ttermpro とします。
「OK」
次に、今度はメニューから [Setup] - [SSH Authentication] を選択。
[User name] のテキストボックスにはログインするユーザ名を入力。
[◎Use RSA key to login] をチェックし、[Private key file:] には 先ほどの identity ファイルを指定します。
「OK」
最後に、メニューから [Setup] - [Save setup..] を選択。
以上で、暗号キーの設定は終了です。
いったん Tera Term Pro を再起動して、ログインできるか試してみましょう。
まずは、DSA暗号キー生成。
| # ssh-keygen -t dsa |
ずらずらっと英文が出てきて、
Enter passphrase (empty for no passphrase):
と入力待ちになったらパスフレーズを入力する。これは認証用のパスワードのようなもの。
Enter same passphrase again:
同じ物を再入力。
またずらずらっと英文が出てきて終了。
次に RSA暗号キーの生成。
| # ssh-keygen -t rsa |
先ほどと同じようにパスフレーズを2回入力して終了。
ユーザディレクトリの中の /.ssh/ というフォルダが出来ていると思います。
さらにその中に
identity.pub
identity
というふたつのファイルが出来ていると思います。
identity.pub がいわゆる公開鍵。identity がいわゆる秘密鍵というものです。
identity は秘密鍵という名の通り秘密にしなければなりません。決して外部に公開されるような場所に置いたりしてはいけません。
identity.pub は同じディレクトリに authorized_keys という名前でコピーしておきます
| .ssh# cp identity.pub authorized_keys |
これで、サーバ側の設定はひとまず終了。
続けて、先ほど作った秘密鍵 identity をクライアントに設置します。
設置するのは、Tera Term Pro のインストールフォルダの中です。
例えば、C:\Program Files\ttermpro\identity
次に、Tera Term Pro を起動します。
とりあえずキャンセルします。
メニューから [Setup] - [SSH] を選択。
[SSH Known Hosts] の [Read/write file:] を選択し、右のテキストボックスは例えば C:\Program Files\ttermpro とします。
「OK」
次に、今度はメニューから [Setup] - [SSH Authentication] を選択。
[User name] のテキストボックスにはログインするユーザ名を入力。
[◎Use RSA key to login] をチェックし、[Private key file:] には 先ほどの identity ファイルを指定します。
「OK」
最後に、メニューから [Setup] - [Save setup..] を選択。
以上で、暗号キーの設定は終了です。
いったん Tera Term Pro を再起動して、ログインできるか試してみましょう。