2006年07月10日
CentOSでOpenSSHをインストールする(LINUX)
OpenSSHってなに?
一般的にはTelnetで操作しますが、隔地(特にWANからの操作)からのログイン等、パスワード等が見られる可能性があり危険なので通信内容を暗号化して通信が出来るSSHを使用します。SSHの接続方式にはSSH1とSSH2がありSSH2の方が、SSH1より強固な暗号化になっています。・・という事で今回はSSH2の設定方法を記載します。
(準備)SSHサーバーアンインストールをします。
最初に既にインストールされて起動しているSSHサーバーをアンインストール。
[1]"SSHサーバー"の停止をします。
[root@admin]# /etc/rc.d/init.d/sshd stop
[2]"openssh関連パッケージ"のアンインストールをします。
[root@admin]# yum -y remove openssh
次はSSH2のインストール方法です。
[3]"openssh-server"のインストールをします。
[root@admin]# yum -y install openssh-server
[4]"openssh-clients"のインストールをします。
[root@admin]# yum -y install openssh-clients
[5]"sshd_config"の設定を3カ所編集します。
#PermitRootLogin yes
↓
PermitRootLogin no
#PermitEmptyPasswords no
↓
PermitEmptyPasswords no
#PasswordAuthentication yes
↓
PasswordAuthentication no
[6]"OpenSSH"の再起動をします。
[root@admin]# /etc/rc.d/init.d/sshd restart
※ちなみに最初に"OpenSSH"を停止しているので、最初にエラーが表示されます。
sshdを停止中: [ ERROR ]
問題ありませんが、不安な人はもう一度再起動してみると"OK"が確認できます。
sshdを停止中: [ OK ]
sshdを起動中: [ OK ]
"SSH2の鍵"をを作成するユーザーになります。
[7]"現在のユーザー"の確認を行います。
[root@admin]$ whoami
[8]"鍵の持ち主"のユーザーに変更します。
[root@admin]# su - ユーザー名
※後にSSHでログインする際のログインユーザー名となります。
[9]"root(管理者)"をログアウトします。
[root@admin root]# exit
logout(ログアウトしました)
[ユーザー名@admin]$
次はSSH2の鍵の作成方法です。
[10]"SSH2の鍵"を作成します。
[ユーザー名@admin root]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
何も入力しないで「ENTER」ボタンを押す。
Created directory '/home/linux/.ssh'.
パスワード(SSH2のパスワード)入力
Enter passphrase (empty for no passphrase):
パスワードの再入力(SSH2のパスワード再入力※上記と同じ)
[11]"鍵の作成先"を表示します。
[ユーザー名@admin root]$ ls -la /home/linux/.ssh/
[12]"authorized_keys"に追加します。
[ユーザー名@admin root]$ cat /home/linux/.ssh/id_rsa.pub >> /home/linux/.ssh/authorized_keys
[13]"公開鍵を自分のみアクセス可能"に変更します。
[ユーザー名@admin root]$ chmod 600 /home/linux/.ssh/authorized_keys
[14]"公開鍵"を削除します。
[ユーザー名@admin root]$ rm -f /home/linux/.ssh/id_rsa.pub
[15]"鍵の作成先"を表示します。
[ユーザー名@admin root]$ ls -la /home/linux/.ssh/
以上の作業で「鍵」の作成は終了です。
次にサーバにある鍵を作成したid_rsaがクライアントから接続するそのユーザの鍵となります。
この鍵を接続するクライアントへコピーをします。
クライアントへコピーする方法は2つあります。
【A:フロッピーディスクにコピーする方法】
[A-1]"フロッピー"をマウントします。
[root@admin root]# mount /mnt/floppy/
[A-2]"秘密鍵をフロッピー"に移動します。
[root@admin root]# mv /home/ユーザー名/.ssh/id_rsa /mnt/floppy/
[A-3]"フロッピーのマウント"を解除します。
[root@admin root]# umount /mnt/floppy/
【B:FTPによりネットワーク経由でコピーする方法】
[B-1]"yumでFTPサーバ"をインストールします。
[root@admin root]# yum -y install vsftpd
[B-2]"FTPサーバ"を起動します。
[root@admin root]# /etc/rc.d/init.d/vsftpd start
次はWindowsなどの「クラインアントマシン」DOS窓を使用します。
[B-3]"ファイル名を指定して実行"に「cmd」と入力して立ち上げます。
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\client>
[B-4]"ローカルのカレント"をC:\と入力します。
C:\Documents and Settings\client>cd \
[B-5]"FTPでサーバに接続"サーバのIPを入力します。
C:\>ftp 192.168.1.×
[B-6]"ユーザー名"を入力します。
User (192.168.1.5:(none)): ユーザー名
331 Please specify the password.
[B-7]"パスワード"を入力します。
Password:******
230 Login successful.
[B-7]"転送をバイナリモード"に設定します。
ftp> bin
[B-8]"秘密鍵"を取得します。
ftp> get /home/linux/.ssh/id_rsa
[B-9]"サーバの秘密鍵"を削除します。
ftp> delete /home/linux/.ssh/id_rsa
[B-10]"FTP接続"を終了します。
ftp> bye
[B-11]"ローカルの確認"で"id_rsa"を確認します。
C:\>dir
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は 649A-F32D です
C:\ のディレクトリ
2004/09/02 14:34 0 AUTOEXEC.BAT
2004/09/02 14:34 0 CONFIG.SYS
2004/09/02 14:48 Documents and Settings
2004/09/23 10:16 951 id_rsa ← コピーされている
2004/09/22 10:02 Program Files
2004/09/06 11:58 WINDOWS
3 個のファイル 951 バイト
3 個のディレクトリ 5,651,943,424 バイトの空き領域
[B-12]"DOS"を終了します。
C:\>exit
以上で「クライアントマシン」の設定は終了です。
次にまたLINUXでの操作となります。([15]の続き)
[16]"FTPサーバ"を終了します。
[root@admin root]# /etc/rc.d/init.d/vsftpd stop
[17]"FTPサーバ"をアンインストールします。
[root@admin root]# yum -y remove vsftpd
※アンインストールせずとも「自動起動の停止と確認」を行ってもOK!
FTPサービスの自動起動停止
[root@admin root]# chkconfig vsftpd off
FTPサービスの自動起動確認
[root@admin root]# chkconfig --list vsftpd
下記、確認表示
vsftpd 0:オフ 1:オフ 2:オフ 3:オフ 4:オフ 5:オフ 6:オフ
・・・で全てOFFになっていればOKです。
次にPuTTY日本語版によるリモート接続の設定を行います。
FTPサーバの設定はこちらです。
一般的にはTelnetで操作しますが、隔地(特にWANからの操作)からのログイン等、パスワード等が見られる可能性があり危険なので通信内容を暗号化して通信が出来るSSHを使用します。SSHの接続方式にはSSH1とSSH2がありSSH2の方が、SSH1より強固な暗号化になっています。・・という事で今回はSSH2の設定方法を記載します。
(準備)SSHサーバーアンインストールをします。
最初に既にインストールされて起動しているSSHサーバーをアンインストール。
[1]"SSHサーバー"の停止をします。
[root@admin]# /etc/rc.d/init.d/sshd stop
[2]"openssh関連パッケージ"のアンインストールをします。
[root@admin]# yum -y remove openssh
次はSSH2のインストール方法です。
[3]"openssh-server"のインストールをします。
[root@admin]# yum -y install openssh-server
[4]"openssh-clients"のインストールをします。
[root@admin]# yum -y install openssh-clients
[5]"sshd_config"の設定を3カ所編集します。
#PermitRootLogin yes
↓
PermitRootLogin no
#PermitEmptyPasswords no
↓
PermitEmptyPasswords no
#PasswordAuthentication yes
↓
PasswordAuthentication no
[6]"OpenSSH"の再起動をします。
[root@admin]# /etc/rc.d/init.d/sshd restart
※ちなみに最初に"OpenSSH"を停止しているので、最初にエラーが表示されます。
sshdを停止中: [ ERROR ]
問題ありませんが、不安な人はもう一度再起動してみると"OK"が確認できます。
sshdを停止中: [ OK ]
sshdを起動中: [ OK ]
"SSH2の鍵"をを作成するユーザーになります。
[7]"現在のユーザー"の確認を行います。
[root@admin]$ whoami
[8]"鍵の持ち主"のユーザーに変更します。
[root@admin]# su - ユーザー名
※後にSSHでログインする際のログインユーザー名となります。
[9]"root(管理者)"をログアウトします。
[root@admin root]# exit
logout(ログアウトしました)
[ユーザー名@admin]$
次はSSH2の鍵の作成方法です。
[10]"SSH2の鍵"を作成します。
[ユーザー名@admin root]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
何も入力しないで「ENTER」ボタンを押す。
Created directory '/home/linux/.ssh'.
パスワード(SSH2のパスワード)入力
Enter passphrase (empty for no passphrase):
パスワードの再入力(SSH2のパスワード再入力※上記と同じ)
[11]"鍵の作成先"を表示します。
[ユーザー名@admin root]$ ls -la /home/linux/.ssh/
[12]"authorized_keys"に追加します。
[ユーザー名@admin root]$ cat /home/linux/.ssh/id_rsa.pub >> /home/linux/.ssh/authorized_keys
[13]"公開鍵を自分のみアクセス可能"に変更します。
[ユーザー名@admin root]$ chmod 600 /home/linux/.ssh/authorized_keys
[14]"公開鍵"を削除します。
[ユーザー名@admin root]$ rm -f /home/linux/.ssh/id_rsa.pub
[15]"鍵の作成先"を表示します。
[ユーザー名@admin root]$ ls -la /home/linux/.ssh/
以上の作業で「鍵」の作成は終了です。
次にサーバにある鍵を作成したid_rsaがクライアントから接続するそのユーザの鍵となります。
この鍵を接続するクライアントへコピーをします。
クライアントへコピーする方法は2つあります。
【A:フロッピーディスクにコピーする方法】
[A-1]"フロッピー"をマウントします。
[root@admin root]# mount /mnt/floppy/
[A-2]"秘密鍵をフロッピー"に移動します。
[root@admin root]# mv /home/ユーザー名/.ssh/id_rsa /mnt/floppy/
[A-3]"フロッピーのマウント"を解除します。
[root@admin root]# umount /mnt/floppy/
【B:FTPによりネットワーク経由でコピーする方法】
[B-1]"yumでFTPサーバ"をインストールします。
[root@admin root]# yum -y install vsftpd
[B-2]"FTPサーバ"を起動します。
[root@admin root]# /etc/rc.d/init.d/vsftpd start
次はWindowsなどの「クラインアントマシン」DOS窓を使用します。
[B-3]"ファイル名を指定して実行"に「cmd」と入力して立ち上げます。
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\client>
[B-4]"ローカルのカレント"をC:\と入力します。
C:\Documents and Settings\client>cd \
[B-5]"FTPでサーバに接続"サーバのIPを入力します。
C:\>ftp 192.168.1.×
[B-6]"ユーザー名"を入力します。
User (192.168.1.5:(none)): ユーザー名
331 Please specify the password.
[B-7]"パスワード"を入力します。
Password:******
230 Login successful.
[B-7]"転送をバイナリモード"に設定します。
ftp> bin
[B-8]"秘密鍵"を取得します。
ftp> get /home/linux/.ssh/id_rsa
[B-9]"サーバの秘密鍵"を削除します。
ftp> delete /home/linux/.ssh/id_rsa
[B-10]"FTP接続"を終了します。
ftp> bye
[B-11]"ローカルの確認"で"id_rsa"を確認します。
C:\>dir
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は 649A-F32D です
C:\ のディレクトリ
2004/09/02 14:34 0 AUTOEXEC.BAT
2004/09/02 14:34 0 CONFIG.SYS
2004/09/02 14:48
2004/09/23 10:16 951 id_rsa ← コピーされている
2004/09/22 10:02
2004/09/06 11:58
3 個のファイル 951 バイト
3 個のディレクトリ 5,651,943,424 バイトの空き領域
[B-12]"DOS"を終了します。
C:\>exit
以上で「クライアントマシン」の設定は終了です。
次にまたLINUXでの操作となります。([15]の続き)
[16]"FTPサーバ"を終了します。
[root@admin root]# /etc/rc.d/init.d/vsftpd stop
[17]"FTPサーバ"をアンインストールします。
[root@admin root]# yum -y remove vsftpd
※アンインストールせずとも「自動起動の停止と確認」を行ってもOK!
FTPサービスの自動起動停止
[root@admin root]# chkconfig vsftpd off
FTPサービスの自動起動確認
[root@admin root]# chkconfig --list vsftpd
下記、確認表示
vsftpd 0:オフ 1:オフ 2:オフ 3:オフ 4:オフ 5:オフ 6:オフ
・・・で全てOFFになっていればOKです。
次にPuTTY日本語版によるリモート接続の設定を行います。
FTPサーバの設定はこちらです。