サイトアイコン アラコキからの Raspberry Pi 電子工作

nginx Webサーバー SSH接続の公開鍵化

Webサーバー サイトの管理
公開のためのセキュリティ設定
 
Webサーバーのセットアップが完了したら、公開のための最後の作業は「セキュリティ設定」である。この中でも、Webサーバーをリモートで操作するための『SSH接続』については、公開鍵化をしておくべき重要な作業である。
 
  
以下に、公開鍵の作成要領を記載。
 

 

スポンサー リンク

 

 
 
公開鍵は
・rootユーザーと一般ユーザーで共用出来る。
・「TeraTerm」と「FileZlla」でも共用できる。
 
 
 
 
 
 
1.鍵のペア(公開鍵と秘密鍵)を作る
 
① TeraTermを立ち上げて、設定→SSH鍵生成を選択。
  
② ダイアログが立ち上がるので、生成ボタンを押す。
(鍵の種類はRSA、ビット数は2048のままでOK)
  
③ 「鍵のパスフレーズ」と「パスフレーズの確認」に同一のパスワードを入力。
  
公開鍵の保存、秘密鍵の保存をクリックすると、それぞれ保存ダイアログが表示されるので、それぞれを保存する。
 
以上で鍵の作成は終了。
 
 
 
2. 公開鍵をサーバーに保存する
 
① 次に先ほど作成した公開鍵ファイルをTera Termにドラッグ&ドロップする。
 
ドラッグ&ドロップすると「ファイル転送を行いますか?」というメッセージが表示されるので、 「SCP」をクリックし、ファイルを転送する。
 
② 鍵格納用フォルダを作り、作成したフォルダのパーミッションを設定した後、鍵をフォルダに移動する。「xxxxxx」 は、ユーザ名。
 
$ pwd
/home/xxxxxx
$ ls
id_rsa.pub
$ mkdir .ssh
$ chmod 700 .ssh
$ mv id_rsa.pub .ssh/authorized_keys
 
 
ls コマンドで、id_rsa.pub が表示されない場合。
ユーザ名のフォルダに、「id_rsa.pub」ファイルを作成し、元の【id_rsa.pub】の内容を貼り付ける。「xxxxxx」 は、ユーザ名。

$ sudo nano /home/xxxxxx/id_rsa.pub
 
当初は、鍵格納用フォルダを作り、作成したフォルダに
nano ~/.ssh/authorized_keys で id_rsa.pub の内容を
貼り付けると云う方法で鍵ファイルを作成した。
すると、どこにミスがあるのか不明のまま、何度試みても、
SSH2秘密鍵の読み込みに失敗しました」 というエラーに悩まされ、やむなく上記方法に変更するとうまく行った。
 
 
 
3. ログイン方法を認証鍵方式に、SSHの設定を変更
 
続いてSSHの設定を変更する。
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org2
sudo nano /etc/ssh/sshd_config

[33~35行目付近]

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile %h/.ssh/authorized_keys

↓ 35行目の#を外す

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys

[54行目付近]

#PasswordAuthentication yes

↓ #を外し、yesをnoに変更

PasswordAuthentication no
 
以上で設定は終了なので、保存して終了。
SSHサーバーを再起動して設定を読み込ませる。
 sudo /etc/init.d/ssh restart
 
 
 
4. TeraTerm の接続テスト
 
新しくターミナルを開いて初めのダイアログは今までと同じ設定でOKを押す。
今まで通りユーザ名とパスフレーズを入力してログオンを試みる。
 → 認証に失敗しました。再試行してください。と出るはず。
パスワードでのログインを禁止したのでこれでOK。
一旦、接続断を押して接続を切る。
 
再度新しいターミナルを開いて、今度は鍵認証でログオンしてみる。
初めのダイアログはそのままOKボタン。
今度はRSA/DSA/ECDSA鍵を使うにチェックを入れて秘密鍵ボタンを押す。
 
ファイル選択のダイアログが開くので、先に生成した
秘密鍵(デフォルト保存名:id_rsa)を選択して 開くボタンを押す。
この状態で、ユーザ名はいつものユーザー名、パスフレーズは鍵を生成した際に入力したパスフレーズ を入力してOKボタンを押す。
 
これで接続できればOK。
 
 
 
5. FileZilla の設定
 
FileZillaを起動し、メニュー [ 編集 ] – [ 設定 ] をクリックする。
 
下記の設定画面が表示されるので、画面左のツリーからSFTPをクリックする。
 
鍵ファイルを追加…をクリックし、TeraTermで作成したRSA秘密鍵ファイルを指定する。
 
TeraTermで作成したRSA秘密鍵は、そのままでは扱えないので変換する旨のメッセージが以下のように表示される。
はい(Y) をクリックし次へ進む。
 
TeraTermで鍵作成時に設定したパスフレーズを入力し、OKボタンをクリックする。
 
FileZillaで認識できるように変換したデータを保存するファイル名を指定する。
ここでは、ディレクトリを変更して( filezilla.ppk )にした。
 
これで秘密鍵の登録は完了。設定画面の左のOKボタンをクリックしてを終了する。
 
 
 
6. FileZilla の接続テスト
 
FileZillaを起動し、メニュー [ ファイル ] – [ サイトマネージャ ] をクリックし、接続するホストを、サイトマネージャーに登録。
 
編集を終えたら、接続ボタンをクリックして確認する。
 
 
参考:
 

 

以上。
(2017.09.11)

 

 

スポンサー リンク

 

             

 

 

 
モバイルバージョンを終了