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

自宅サーバ構築MY HOME SERVER

クライアントから遠隔操作(ssh) クライアントPC側の設定 SSH公開鍵・秘密鍵作成

- クライアントから遠隔操作(ssh) -

サーバ自身のコンソールで操作するのはここまでにします。クライアントPCから遠隔操作できるように 設定します。クライアント側で操作出来ると、サンプル設定画面を見ながら入力したり、コピー内容を 貼り付けたり出来るので、作業効率がダントツにアップします。

SSHサーバは既にインストール済みです。使用出来るように設定します。
[root@hoge123~]# vi /etc/ssh/sshd_config

#PermitRootLogin yes
↓ 以下の内容に変更します。# の削除も忘れないでください(管理者ログインを禁止します)
PermitRootLogin no
#PermitEmptyPasswords no ↓ 先頭の#を削除します。
PermitEmptyPasswords no

設定を編集・保存したので、その値を有効にするためSSHを再起動します。
[root@hoge123~]# /etc/rc.d/init.d/sshd restart ← /etc/rc.d/init.d/はsshdがある場所のパスです。
sshd を停止中:                        [ OK ]
sshd を起動中:                        [ OK ]
[root@hoge123~]# chkconfig sshd on
↑ サーバの再起動があってもsshdサービスが自動で有効になるように設定します。
[root@hoge123~]# chkconfig --list sshd
sshd      0:off      1:off      2:on      3:on      4:on      5:on      6:off
↑ 2〜5が on になっていれば大丈夫です。

クライアントPCからログインするユーザ名、パスワードを作成します。セキュリティーを考慮して 管理者権限ではログイン出来ないようにしています。ユーザ名は任意で決めます。入力したら Enterキーを押します。
※ユーザ名、パスワードはクライアントPC側で必要な情報ですので忘れないでください。
[root@hoge123~]# useradd hogehoge ← hogehogeと言うユーザを追加します。
[root@hoge123~]# passwd hogehoge ← hogehogeにパスワードを追加します。
Changing password for user hogehoge.
New password: ← パスワードを入力します。
Retype new password: ← 確認のためにもう一度入力します。
passwd: all authentication tokens updated successfully.

[root@hoge123~]# cd /home ← homeディレクトリに新規ユーザ追加されているか、確認します。
[root@hoge123 home]# ls ← lsコマンドでhomeディレクトリ内に、hogehogeがあることを確認します。
hogehoge
[root@hoge123 home]#


クライアントから遠隔操作する際、サーバ側はroot権限からログアウトさせておきます。(セキュリティのため)
[root@hoge123~]# exit ← exit コマンドでrootからログアウトします。
logout

CentOS release 6.3 (Final)
Kernel 2.6.32-220.e16.i686 on an i686
hoge123 login:



- クライアントPC側の設定 -

クライアントPCはWin2000、WinXP、Vista、Win7のいづれでも構いません。 まずは、遠隔操作ソフトTeraTermProをインストールします。

ダウンロードサイト: Tera Term 4.73
インストールが終わったら、デスクトップのショートカットをクリックします。ホストにサーバのIPアドレスを入力てOKボタンを押します。

1.jpg(29149 byte)



初回のみセキュリティ警告が出ますが、「続行」ボタンを押します。

4.jpg(28584 byte)



ユーザ名、パスワード(パスフレーズ)を入力してOKボタンを押します。(先ほどの例ではhogehogeがユーザ名です)

2.jpg(36266 byte)



ログインが成功すると、以下の画面になります。ユーザ名hogehogeでログイン出来たところです。リモート操作で設定する場合、 管理者権限でログインする必要があるため、rootに切り替えます。
Last login: Sun Apr 3 20:35:53 2012 from 192.168.0.20
[hogehoge@hoge123 ~]$ su - ← su - はroot(管理者)ログインするためのコマンドです。
パスワード: ← rootのパスワードを入力します。(何も表示されません)
[root@hoge123~]# ← hogehogeからrootに変わりました。


管理者のパスワード入力欄が文字化けしている場合は、TereTermの設定を変更する必要があります。
Last login: Sun Apr 3 20:35:53 2012 from 192.168.0.20
[hogehoge@hoge123 ~]$ su - ← su - はroot(管理者)ログインするためのコマンドです。
窿鴻ヮ: ← 文字化けしています。(一応、パスワード入力でログインは出来ます。)
[root@hoge123~]# ← hogehogeからrootに変わりました。


Tera Term のメニューから「端末」を選択します。

5.jpg(18385 byte)


「漢字-受信(K)」と 「漢字-送信(J)」がEUCになっています。両方ともプールダウンメニューからUTF-8に変更します。

6.jpg(33911 byte)


UFT-8に変更したら、「OK」ボタンを押します。これで、文字化けは解消されます。

7.jpg(34466 byte)


次回、ログイン時に文字化けしないように、設定を保存します。メニューバーの「設定」、「設定の保存」を選択します。

8.jpg(19686 byte)


設定を保存します。

9.jpg(19233 byte)


遠隔操作を終了するときはexitコマンドを使います。
[root@hoge123~]# exit ← rootからログアウトします。
[hogehoge@hoge123 ~]$ exit ← hogehogeからログアウトして、画面が消えます。


Tera Term を使用すると、viエディタを起動したとき、サンプル設定の内容等をコピーして貼り付けることが出来ます。 まずパソコン上の貼り付けたいテキスト文章をマウス操作でコピーします。viエディタに戻り、 i キー入力して編集モードにします。 画面右下にINSERTが表示されます。この状態で、Alt キーと V キーを押して貼り付けます。Esc キーを押すと編集モードから 抜けることが出来ます。貼り付けるとき、全角スペースや全角文字が無いように気をつけます。エラーの原因になります。

3.jpg(18183 byte)


尚、ルータのポート22番を開放すると外部ドメインからサーバを遠隔操作できます。その際、ホストは取得したドメイン名を入力 することになります。SSHは暗号化通信のため、通信内容は簡単に解読されることはありません。

しかし、今の状態では22番ポート を開放すると、パスワードさえわかれば誰でもサーバにログインできてしまいます。そのため公開鍵、秘密鍵を作成してセキュリティ を一層強化する必要があります。22番ポート開放はあくまで外部ドメインからリモート操作が必要なときに行います。必要がなくなったら ルータ側の22番ポートは閉じてください。

尚、ルータのポート開放の仕方は、 ウエブ上で検索すると、たくさん情報が出てきます。一応、このサイトでもルータのポート開放の 手順を説明しています。



- SSH公開鍵・秘密鍵作成 -

ここではすでにSSH接続が出来ていることを仮定して説明します。サーバで公開鍵と秘密鍵を作成し、秘密鍵をクライアントパソコン に取り込みます。これにより秘密鍵を持っているクライアントパソコン以外、サーバの遠隔操作が出来なくなります。万が一、パスワード が第3者に漏れても、秘密鍵がない限り第3者はサーバにSSH接続できません。
サーバ側で作成した秘密鍵は、フロッピーディスクやUSBフラッシュメモリー、ローカルネットワーク内のFTP転送でクライアントパソコンに 渡します。
FTP転送のためにiptablesのポート21番を開放するか、無効にする必要があります。 詳細はセキュリティをご覧ください。

まずOpenSSHの設定を変更・保存します。
          
[root@hoge123~]# vi /etc/ssh/sshd_config

 先頭の#を削除して yes を noに変更します。(通常パスワードの禁止(鍵方式に変更))
#PasswordAuthentication yes
        ↓
PasswordAuthentication no
 先頭の#を削除します。(空パスワードの禁止)
#PermitEmptyPasswords no
        ↓
PermitEmptyPasswords no


次に鍵を作成するユーザーになります。
      
[root@hoge123~]# whoami 
root ← root権限でログインしています。 

[root@hoge123~]# su - hogehoge
[hogehoge@hoge123~]# ← ユーザー hogehoge に変わりました。


[root@hoge123~]# exit ← exit コマンドでもroot権限から、ユーザー権限に戻れます。
logout                                
[hogehoge@hoge123~]$               


hogehoge ユーザー権限で鍵を作成します。
      
[hogehoge@hoge123~]# ssh-keygen -t dsa

Generating public/private rsa key pair.
Enter file in which to save the key (/home/hogehoge/.ssh/id_dsa): 
Created directory '/home/hogehoge/.ssh'. ← 何も入力しないでEnter キーを押します。
Enter passphrase (empty for no passphrase):
↑ パスフレーズ(SSHのパスワード)入力します。hogehogeのログインPWと同じほうが混乱しません。
Enter same passphrase again:← パスフレーズの再入力をします。(上記で入力したもの)
Your identification has been saved in /home/hogehoge/.ssh/id_dsa.
Your public key has been saved in /home/hogehoge/.ssh/id_dsa.pub.
The key fingerprint is:
5t:d4:33:67:g4:21:06:cb:24:40:d3:6b:2w:3c:3c:10 hogehoge@hoge123.ddo.jp
The key's randomart image is:
+--[ RSA 2048]----+
|        .+...o . |
|         .+.o . .|
|          *=. o o|
|           BoE + |
|        S   o . +|
|         . . o o |
|          . +    |
|           .     |
|                 |
+-----------------+


鍵の作成先の確認をします。
[hogehoge@hoge123~]# ls -la .ssh
合計 16
drwx------. 2 hogehoge hogehoge 4096  6月  8 19:34 2012 .
drwx------. 3 hogehoge hogehoge 4096  6月  8 19:34 2012 ..
-rw-------. 1 hogehoge hogehoge 1751  6月  8 19:34 2012 id_dsa   ← 秘密鍵
-rw-r--r--. 1 hogehoge hogehoge  405  6月  8 19:34 2012 id_dsa.pub ← 公開鍵

公開鍵をauthorized_keysに追加します。
[hogehoge@hoge123~]# cat /home/hogehoge/.ssh/id_dsa.pub >> /home
/hogehoge/.ssh/authorized_keys ← 上の行の続きです。実際は1行で入力します。

公開鍵を自分のみアクセスできるように変更します。
[hogehoge@hoge123~]# chmod 600 /home/hogehoge/.ssh/authorized_keys

公開鍵の削除をします。
[hogehoge@hoge123~]# rm -f /home/hogehoge/.ssh/id_dsa.pub

鍵の作成先の確認をします。
[hogehoge@hoge123~]# ls -la .ssh
合計 16
drwx------. 2 hogehoge hogehoge 4096  6月  8 19:34 2012 .
drwx------. 3 hogehoge hogehoge 4096  6月  8 19:34 2012 ..
-rw-------. 1 hogehoge hogehoge 1751  6月  8 19:34 2012 id_dsa   ← 秘密鍵
-rw-------. 1 hogehoge hogehoge  405  6月  8 19:34 2012 authorized_keys ← 公開鍵


root 権限に戻ります。FTPをサーバにインストールし、クライアントPCがサーバにアクセスできる準備をします。
[root@hoge123~]# yum -y install vsftpd ← FTPをインストールします。 
[root@hoge123~]# service vsftpd start ← FTPサーバを起動します。 

クライアントパソコンで秘密鍵の取り込みを行います。「スタート」、「ファイル名を指定して実行」の順に 選択して、「名前」の横に cmd と入力してコマンドプロンプトを表示させます。
      
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\hoge>cd \ ← cd \ と入力します

- 赤文字は実際に入力する内容です。-
C:\>ftp 192.168.0.10
Connected to 192.168.0.3.
220 (vsFTPd 2.2.2)
User (192.168.0.3:(none)): hogehoge
331 Please specify the password.
Password:hogehogeのパスワード
230 Login successful.
ftp> bin
200 Switching to Binary mode.
ftp> get /home/hogehoge/.ssh/id_dsa
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for /home/hogehoge/.ssh/id_dsa (736 byte
s).
226 Transfer complete.
ftp: 736 bytes received in 0.00Seconds 736000.00Kbytes/sec.
ftp> delete /home/hogehoge/.ssh/id_dsa
250 Delete operation successful.
ftp> bye
221 Goodbye.
 
 
C:\>dir
 ドライブ C のボリューム ラベルがありません。
 ボリューム シリアル番号は DC37-9419 です

 Cドライブ直下にid_dsa(秘密鍵)があります。


2012/06/03  17:32    <DIR>  41afa64e6196249e8461
2012/06/03  12:30                 0 AUTOEXEC.BAT
2012/06/03  12:30                 0 CONFIG.SYS
2012/06/03  16:44    <DIR>  Documents and Settings
2012/06/08  20:39                 736 id_dsa ← id_dsa(公開鍵)です。
2012/06/03  18:05                 260,800 ntldr
2012/06/07  19:49    <DIR>  Program Files
2012/06/06  19:07    <DIR>  WINDOWS
               5 個のファイル     261,536 バイト
               4 個のディレクトリ 68,903,591,936 バイトの空き領域

C:\>exit


FTPサーバは不要ですので、終了してから削除します。
[root@hoge123~]# service vsftpd stop        
[root@hoge123~]# yum -y remove vsftpd
[root@hoge123~]# service sshd restart
sshd を停止中:                                             [OK]                                             
sshd を起動中:                                             [OK]  
 

秘密鍵を使った Tere Term からのログイン方法です。C:直下に保存したid_dsaは移動やコピーしても構いません。 Tera Term でログインするとき、秘密鍵のパスを指定する必要があるので、どこに移動したか覚えておく必要があります。

ここは、いつもどおりの情報を入力します。

1.jpg(29149 byte)



「ユーザ名」、「パスフレーズ」入力後、「RSA/DSA鍵を使う」を選択して、「OK」ボタンを押します。

3.jpg(39128 byte)



id_dsa(秘密鍵)を選択し、「開く」を押します。

4.jpg(20819 byte)



「秘密鍵」にid_dsaのパス名入力されていることを確認して、「OK」ボタンを押します。これで秘密鍵を使用したログインができます。秘密鍵 無しではログインできなくなっています。

5.jpg(39738 byte)



自宅サーバ構築(CentOS6.3)に戻る

Copyright(C) PCDEMAGIC All Rights Reserved.