はじめての自宅サーバ構築 - Fedora/CentOS -
Last Update 2018/05/30
[ 更新履歴 ] [ サイト マップ ] [ 質問掲示板 ] [ 雑談掲示板 ] [ リンク ]
トップ >> クライアントよりサーバを操作 >> SSHサーバの構築(OpenSSH)
動作確認 [ FC1 / FC2 / FC3 / FC4 / FC5 / FC6 / Fedora7 / Fedora8 / Fedora9 / Fedora10 / Fedora11 / Fedora12 / Fedora13 / Fedora14 / Fedora15 / Fedora16 / Fedora17 / CentOS4 / CentOS5 / CentOS6 / CentOS7 ]
  1. OpenSSHとは・・・
  2. OpenSSHのインストール
  3. OpenSSHの設定
  4. OpenSSHの再起動
  5. SSH2の鍵作成
  6. 秘密鍵の抜き取り(サーバに接続するクライアントへ移動)
    フロッピーディスクにコピーする方法
    FTPによりネットワーク経由でコピー

■ OpenSSHとは・・・

サーバを操作(設定等)するに当たって、サーバ自身のコンソールで変更するのも良いですが、せっかくのサーバなのですからクライアント(遠隔操作)から操作出来るようにしてみましょう!
一般的にはTelnetで操作しますが、Telnetは平文(文字がそのまま見えてしまう)で通信を行っています。
遠隔地(特にWANからの操作)からのログイン等、パスワード等が見られてしまってはいけないので、ここでは通信内容を暗号化して通信が出来るSSHを使用します。
SSHの接続方式にはSSH1とSSH2がありSSH2の方が、SSH1より強固な暗号化になっています。
また、ここではSSH2を使用し鍵方式によるログインのみを接続可能にする設定を行います。
この設定は、サーバを公開するに当たり必ず行っておきましょう!

■ OpenSSHのインストール

インストール時にデフォルトで存在しますが、削除や故意的にインストールしなかった場合は以下の手順でインストールして下さい。
また、openssh-clientsは、当該端末から別のopenssh-server端末に接続する場合に使用します。必要に応じてインストールして下さい。

openssh-serverのインストール
# yum -y install openssh-server


openssh-clientsのインストール
# yum -y install openssh-clients

■ OpenSSHの設定

設定ファイルの変更
# vi /etc/ssh/sshd_config

#LoginGraceTime 120
先頭の#を削除して yes を noに変更(root(管理者)でのログインを禁止)
#PermitRootLogin yes
        ↓
PermitRootLogin no

# To disable tunneled clear text passwords, change to no here!
先頭の#を削除して yes を noに変更(通常パスワードの禁止(鍵方式に変更))
#PasswordAuthentication yes
        ↓
PasswordAuthentication no
先頭の#を削除(空パスワードの禁止)
#PermitEmptyPasswords no
        ↓
PermitEmptyPasswords no

■ OpenSSHの再起動

設定ファイルを変更して、その値を有効にするには再起動を行わなければなりません。
OpenSSHの再起動
【FC1 から Fedora15 / CentOS4 / CentOS5 / CentOS6 の場合】
# /etc/rc.d/init.d/sshd restart

【Fedora16以降 / CentOS7 の場合】
# systemctl start sshd.service

■ SSH2の鍵作成

■ 鍵を作成するユーザーになる

今、自分が誰なのか表示(ここを見れば分かりますが・・・)
   
[linux@fedora linux]$ whoami
linux                                ← linux ユーザー

----- root(管理者)から一般ユーザになる手順 -----
1 root(管理者)権限による一般ユーザへの変更
linux ユーザーになる
[root@fedora root]# su - linux
[linux@fedora linux]$               ← linux ユーザーになった

2 ログアウトによる一般ユーザーへの変更方法
root(管理者)のログアウト
[root@fedora root]# exit
logout                                ← ログアウトした
[linux@fedora linux]$               ← linux ユーザーに戻った

-----------------------------------------------------

■ SSH2による鍵を作成

鍵の作成
[linux@fedora linux]$ ssh-keygen -t rsa Generating public/private rsa key pair. 何も入力しないでエンターキー押下 Enter file in which to save the key (/home/linux/.ssh/id_rsa): Created directory '/home/linux/.ssh'. パスフレーズ(SSH2のパスワード)入力 Enter passphrase (empty for no passphrase): パスフレーズの再入力(上記で入力したもの) Enter same passphrase again: Your identification has been saved in /home/linux/.ssh/id_rsa. Your public key has been saved in /home/linux/.ssh/id_rsa.pub. The key fingerprint is: cc:f6:fe:9b:51:f1:68:fa:61:b4:76:cb:e4:35:99:b8 linux@kajuhome.com 鍵の作成先の表示 [linux@fedora linux]$ ls -la /home/linux/.ssh/ 合計 16 drwx------ 2 linux linux 4096 9・27 14:09 . drwx------ 3 linux linux 4096 9・27 14:09 .. -rw------- 1 linux linux 951 9・27 14:09 id_rsa ← 秘密鍵 -rw-r--r-- 1 linux linux 238 9・27 14:09 id_rsa.pub ← 公開鍵 公開鍵をauthorized_keysに追加 [linux@fedora linux]$ cat /home/linux/.ssh/id_rsa.pub >> /home/linux/.ssh/authorized_keys 公開鍵を自分のみアクセスできるように変更 [linux@fedora linux]$ chmod 600 /home/linux/.ssh/authorized_keys 公開鍵の削除 [linux@fedora linux]$ rm -f /home/linux/.ssh/id_rsa.pub 鍵の作成先の表示 [linux@fedora linux]$ ls -la /home/linux/.ssh/ 合計 16 drwx------ 2 linux linux 4096 9・27 14:10 . drwx------ 3 linux linux 4096 9・27 14:09 .. -rw------- 1 linux linux 238 9・27 14:10 authorized_keys ← 公開鍵 -rw------- 1 linux linux 951 9・27 14:09 id_rsa ← 秘密鍵 [linux@fedora linux]$

■ 秘密鍵の抜き取り(サーバに接続するクライアントへ移動)

サーバにある鍵を作成したid_rsaがクライアントから接続するそのユーザの鍵となります。
この鍵を接続するクライアントへコピーをする方法を紹介します。

■ フロッピーディスクにコピーする方法

root(管理者)権限で行ってください

フロッピーをマウント
# mount /mnt/floppy/
秘密鍵をフロッピーに移動
# mv /home/linux/.ssh/id_rsa /mnt/floppy/
フロッピーのマウントを解除
# umount /mnt/floppy/

■ FTPによりネットワーク経由でコピー

1. FTPサービスを起動する

一時的にFTPサーバをインストールする
# yum -y install vsftpd

FTPサーバを起動
【FC1 から Fedora15 / CentOS4 / CentOS5 / CentOS6 の場合】
# /etc/rc.d/init.d/vsftpd start

【Fedora16以降 / CentOS7 の場合】
# systemctl start vsftpd.service

2. クライアント機より接続する(ここはWindowsのDOS窓より行ってください)

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

ローカルのカレントをC:\にしておく
C:\Documents and Settings\client>cd \
C:\>                                             ← ローカルがC:\になった
FTPでサーバに接続する
C:\>ftp 192.168.1.5
Connected to 192.168.1.5.
220 (vsFTPd 1.2.1)
ユーザ名を入力
User (192.168.1.5:(none)): linux
331 Please specify the password.
パスワードを入力
Password:
230 Login successful.
転送モードをバイナリモードにする
ftp> bin
200 Switching to Binary mode.
秘密鍵を取得
ftp> get /home/linux/.ssh/id_rsa
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for /home/linux/.ssh/id_rsa (951
bytes).
226 File send OK.                                ← 転送が完了した
ftp: 951 bytes received in 0.00Seconds 951000.00Kbytes/sec.
サーバの秘密鍵を削除
ftp> delete /home/linux/.ssh/id_rsa
250 Delete operation successful.                 ← 削除が成功した
FTP接続を終了
ftp> bye
221 Goodbye.
C:\>
ローカルの確認
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    <DIR>          Documents and Settings
2004/09/23  10:16               951 id_rsa        ← コピーされている
2004/09/22  10:02    <DIR>          Program Files
2004/09/06  11:58    <DIR>          WINDOWS
               3 個のファイル                 951 バイト
               3 個のディレクトリ   5,651,943,424 バイトの空き領域

DOSを終了
C:\>exit

3. FTPサーバの終了

FTPサーバの終了
【FC1 から Fedora15 / CentOS4 / CentOS5 / CentOS6 の場合】
# /etc/rc.d/init.d/vsftpd stop

【Fedora16以降 / CentOS7 の場合】
# systemctl stop vsftpd.service

4. FTPサーバのアンインストール

FTPサーバのアンインストール
# yum -y remove vsftpd


備考)アンインストールしなくてもサービスを止めるだけでも構わない。
【FC1 から Fedora15 / CentOS4 / CentOS5 / CentOS6 の場合】
FTPサービスの自動起動停止
# chkconfig vsftpd off
FTPサービスの自動起動確認
# chkconfig --list vsftpd
vsftpd          0:オフ  1:オフ  2:オフ  3:オフ  4:オフ  5:オフ  6:オフ

【Fedora16以降 / CentOS7 の場合】
FTPサービスの自動起動停止
# systemctl disable vsftpd.service
FTPサービスの自動起動確認
# systemctl status vsftpd.service
vsftpd.service - Vsftpd ftp daemon
          Loaded: loaded (/lib/systemd/system/vsftpd.service; disabled)
          Active: inactive (dead)
          CGroup: name=systemd:/system/vsftpd.service

■ コンテンツ関連

■ その他

ページ先頭へ

Copyright(©)2004-2018 First home server construction. All Right Reserved.