初めてのmakeserverTOP > 自宅サーバ構築 > SSHサーバ構築

SSHサーバ構築について

 
SSHとは

「Secure SHell」は、TCPポートの23番を使用して、ネットワークを通じてサーバなど他の機器にログインしたりコマンドを実行したりするリモートシェルのこと。「Secure」の名が付いているとおりセキュリティが高い。

同じ機能としてTCPポートの22番を使用する「telnet」があるが、こちらはクリアテキスト(平文:データが暗号化されていないのでセキュリティが低い)なのでIDやPWなどが盗まれる危険が高い。

 


●SSHサーバ設定

SSHサーバを作りリモートで、サーバを操作しましょう。
パスワード認証方式ではなくよりセキュリティの高い
鍵認証方式でログイン出来るようにします。

# su - root
(「root」ユーザでコンフィグを編集します)

# cd /etc/ssh
(「cd」コマンドを使って「/etc/ssh」へ移動します)

# vi /etc/ssh/sshd_config
(「vi」エディタで設定ファイルを編集します。)

#Port 22
#Protocol 2,1
   ↓
Protocol 2
( SSH2で接続が可能となります)

#ServerKeyBits 768
      ↓
ServerKeyBits 1024
(鍵の暗号強度をより安全な1024ビットに変更します)

#PermitRootLogin yes
     ↓
PermitRootLogin no
(rootでのログインを禁止します)

#PasswordAuthentication yes
       ↓  
PasswordAuthentication no
(パスワードでのログインを禁止します)

PermitEmptyPasswords no
(パスワード無しでのログインを禁止します)

AllowUsers <ユーザ名>
(<ユーザ名>のみ接続可能 最終行に追記して編集を終了します。)


 


●SSHデーモン再起動

設定が終わったので、再起動します。

# /etc/init.d/sshd restart


Stopping sshd:      [ OK ]
Starting sshd:      [ OK ]


 


●鍵の作成

# su - <ユーザ名>
(一般ユーザへスイッチします。)

鍵の作成
$ ssh-keygen -t rsa

Generating public/private rsa1 key pair.
Enter file in which to save the key (/home/<ユーザ名>/.ssh/id_rsa): 押し下げ
/home/domomo/.ssh/identity already exists.
Enter passphrase (empty for no passphrase): <パスフレーズ>入力
Enter same passphrase again: <再度パスフレーズ入力>(確認)

入力したパスフレーズは後で必要になるので、忘れないでください。

●鍵の確認

$ cd /home/<ユーザ名>/.ssh
(以下「 .ssh」です(隠しファイルのこと)
$ ls -al
(/home/<ユーザ名>/.ssh 以下全てのリストを確認)









※ id_rsa      秘密鍵
※ id_rsa.pub    公開鍵


 


●公開鍵の名前の変更

$ cat /home/<ユーザ名>/.ssh/id_rsa.pub >> /home/<ユーザ名>/.ssh/authorized_keys
「authorized_keys」が追加され3つになりました。








$ rm -f /home/<ユーザ名>/.ssh/id_rsa.pub
(元の鍵を削除)








※ authorized_keys   公開鍵
※ id_rsa        秘密鍵

 


●公開鍵の権限の変更

$ chmod 400 /home/<ユーザ名>/.ssh/authorized_keys
(所有者のみ読み込み可 所有者は<ユーザ名>)


秘密鍵はクライアントPCに移動
公開鍵はそのままServerに置いておく

秘密鍵はFTPを使ってクライアントPCへ移動しましょう。
 

自宅サーバ構築記事一覧

NTPサーバ構築

NTPとは「network time Protocol」は、UDPポートの123番を使用して、ネットワークに接続されている機器などが持つている時計を正しい時刻(標準時刻)へ...

SSHサーバ構築

SSHとは「Secure SHell」は、TCPポートの23番を使用して、ネットワークを通じてサーバなど他の機器にログインしたりコマンドを実行したりするリモートシェルのこと...

FTPサーバ構築

FTPとは「File Transfer Protocol」は、TCPポートの21番を使用して、ファイル転送するためのプロトコルです。実運用でもFTPはよく使われています...

MAILサーバ構築

「Postfix」「Dovecot」とは「Postfix」とはMTA(Message Transfer Agent)電子メールを転送するソフトウェアの一つです。送信...

webサーバ構築

apacheとはアパッチ(Apache HTTP Server)は、世界で最も使われているWebサーバソフトウェアの一つです。ホームページを公開する場合に使用します。 ...

webサーバ間通信暗号化

mod_sslとはSSL(Secure Sockets Layer)を実装するためのモジュール。SSL を実装することで、情報が暗号化されよりセキュアなwebサイトとなる。...

プロキシサーバ構築

SquidとはHTTPなどの通信を中継したりキャッシュしたりプロキシサーバソフト。キャッシュ機能があるので一度アクセスしたWebページをサーバ上に保存することで、次に同じW...