自宅サーバ構築MY HOME SERVER
SSH接続 クライアントPC側の設定 SSH公開鍵・秘密鍵作成 |
- SSH接続 -
セキュリティの観点から、リモート接続はrootで直接ログインすることを禁止します。SSH接続用のユーザーを追加します。
この追加ユーザーはメールサーバ構築時のメールアカウントにもなります。
FreeBSDの初期設定でユーザー追加が済んでいること
前提に設定をします。
[root@hoge123 ~]# vi /etc/ssh/sshd_config #PermitEmptyPasswords no ↓ 先頭の#を削除します。 PermitEmptyPasswords no #PasswordAuthentication no ↓ yesに変更します。 PasswordAuthentication yes AllowUsers hogehoge ← hogehoge以外アクセス出来ないようにする場合、追記します。 [root@hoge123 ~]# service sshd restart Stopping sshd. Starging sshd. [root@hoge123 ~]# vi /etc/group hogehogeをwheelグループに追加します。この設定をしないと、hogehogeからrootになれません。 wheel:*:0:root ↓ wheel:*:0:root,hogehoge |
- クライアントPC側の設定 -
クライアントPCはWin2000、WinXP、Vista、Win7のいづれでも構いません。 まずは、遠隔操作ソフトTeraTermProをインストールします。
ダウンロードサイト: Tera Term 4.73
インストールが終わったら、デスクトップのショートカットをクリックします。ホストにサーバのIPアドレスを入力てOKボタンを押します。
初回のみセキュリティ警告が出ますが、「このホストを.....」にチェックを入れて、「続行」ボタンを押します。
ユーザ名、パスワード(パスフレーズ)を入力してOKボタンを押します。(hogehogeがユーザ名です)
ログインが成功すると、以下の画面になります。ユーザ名hogehogeでログイン出来たところです。リモート操作で設定する場合、 管理者権限でログインする必要があるため、rootに切り替えます。
# su - ← su -はroot(管理者)ログインするためのコマンドです。 Password : ← rootのパスワードを入力します。(何も表示されません) [root@hoge123 ~]# ← hogehogeからrootになりました。。 |
管理者のパスワード入力欄が文字化けしている場合は、TereTermの設定を変更する必要があります。
# su - ← su - はroot(管理者)ログインするためのコマンドです。 |
Tera Term のメニューから「端末」を選択します。
「漢字-受信(K)」と 「漢字-送信(J)」がEUCになっています。両方ともプールダウンメニューからUTF-8に変更します。
UFT-8に変更したら、「OK」ボタンを押します。これで、文字化けは解消されます。
次回、ログイン時に文字化けしないように、設定を保存します。メニューバーの「設定」、「設定の保存」を選択します。
設定を保存します。
遠隔操作を終了するときはexitコマンドを使います。
[root@hoge123 ~]# exit ← rootからログアウトします。 # exit ← hogehogeからログアウトして、画面が消えます。 |
Tera Term を使用すると、viエディタを起動したとき、サンプル設定の内容等をコピーして貼り付けることが出来ます。 まずパソコン上の貼り付けたいテキスト文章をマウス操作でコピーします。viエディタに戻り、 i キー入力して編集モードにします。 画面右下にINSERTが表示されます。この状態で、Alt キーと V キーを押して貼り付けます。Esc キーを押すと編集モードから 抜けることが出来ます。貼り付けるとき、全角スペースや全角文字が無いように気をつけます。エラーの原因になります。
尚、ルータのポート22番を開放すると外部ドメインからサーバを遠隔操作できます。その際、ホストは取得したドメイン名を入力
することになります。SSHは暗号化通信のため、通信内容は簡単に解読されることはありません。
しかし、今の状態では22番ポート
を開放すると、パスワードさえわかれば誰でもサーバにログインできてしまいます。そのため公開鍵、秘密鍵を作成してセキュリティ
を一層強化する必要があります。22番ポート開放はあくまで外部ドメインからリモート操作が必要なときに行います。必要がなくなったら
ルータ側の22番ポートは閉じてください。
尚、ルータのポート開放の仕方は、
ウエブ上で検索すると、たくさん情報が出てきます。一応、このサイトでもルータのポート開放の
手順を説明しています。
- SSH公開鍵・秘密鍵作成 -
ここではすでにSSH接続が出来ていることを仮定して説明します。クライアントパソコンのTeratermで公開鍵と秘密鍵を作成し、公開鍵を サーバ側に転送します。クライアントパソコンはTeratermを使ってログインするとき、秘密鍵を使ってサーバにログインする設定にします。 これにより万が一、パスワードが第3者に漏れても、秘密鍵がない限り第3者はサーバにSSH接続できません。
Teratermのメニューから「設定」、「SSH鍵作成」を選択します。「RSA」を選択して、「生成」ボタンをクリックします。
「鍵のパスフレーズ」、「パスフレーズの確認」にhogehogeのパスワードを入力します。 「公開鍵の保存」をクリックします。
適当なフォルダを選択して、「保存」をクリックします。
「秘密鍵の保存」をクリックします。
先ほどと同じフォルダを選択して、「保存」をクリックします。
先ほど保存した、「id_rsa.pub」をTeratermにドラッグします。(hogehogeの権限でログインしておいてください。)
「SCP」をクリックします。
Teratermに戻り、コピーされているか確認します。
# ls -la ← id_rsa.pubがコピーされているか一覧表示します。 drwx------ 10 hogehoge hogehoge 512 Jul 17 19:03 id_rsa.pub lrwxr-xr-x 1 root hogehoge 28 Jul 16 14:28 data -> /usr/local/www/apache22/data -rw-r--r-- 1 hogehge hogehoge 2431 Jul 17 14:29 ddns.tar.gz drwxr-xr-x 3 root hogehoge 512 Jul 17 14:34 ipupdate # mkdir .ssh # chmod 700 .ssh # cat id_rsa.pub > .ssh/authorized_keys # chmod 600 .ssh/authorized_keys # rm -f id_rsa.pub # su - Password: ← rootのパスワードを入力します。 [root@hoge123 ~]# vi /etc/ssh/sshd_config #PubkeyAuthentication yes ↓ 先頭の#を削除します。 PubkeyAuthentication yes #AuthorizedKeysFile .ssh/authorized_keys ↓ 先頭の#を削除します。 AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication yes ↓ noに変更します。 PasswordAuthentication no #ChallengeResponseAuthentication yes ↓ 先頭の#を削除、noに変更します。 ChallengeResponseAuthentication no [root@hoge123 ~]# /etc/rc.d/sshd reload [root@hoge123 ~]# exit # exit ← 完全にログアウトします。 |
秘密鍵を使った Tere Term からのログイン方法です。保存したid_rsaのフォルダーがどこにあるか、確認してください。 Tera Term でログインするとき、秘密鍵のパスを指定するときに必要です。
ここは、いつもどおりの情報を入力します。「ユーザ名」、「パスフレーズ」入力後、「RSA/DSA鍵を使う」を選択して、「秘密鍵」ボタンを押します。
id_rsa(秘密鍵)を選択し、「開く」を押します。
「秘密鍵」にid_dsaのパス名入力されていることを確認して、「OK」ボタンを押します。これで秘密鍵を使用したログインができます。秘密鍵 無しではログインできなくなっています。ログイン後は、su - コマンドを使用してrootになることが出来ます。