トップページ > インフォメーション

自宅サーバ構築MY HOME SERVER

SSH接続 クライアントPC側の設定 SSH公開鍵・秘密鍵作成

- SSH接続 -

セキュリティの観点から、リモート接続はrootで直接ログインすることを禁止します。SSH接続用のユーザーを追加します。 この追加ユーザーはメールサーバ構築時のメールアカウントにもなります。
FreeBSDの初期設定でユーザー追加が済んでいること 前提に設定をします。

まずは追加したユーザーhogehogeでログインできるようにします。
     
[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(管理者)ログインするためのコマンドです。
窿鴻ヮ: ← 文字化けしています。(一応、パスワード入力でログインは出来ます。)
[root@hoge123 ~]# ← hogehogeから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になることが出来ます。


自宅サーバ構築(freebsd9)に戻る


Copyright(C) PCDEMAGIC All Rights Reserved.