SSH2 で鍵認証
以前書いた記事(リモート接続に SSH を使う)の内容が古いので、
新しく SSH2 を使ってセキュアにサーバにリモートアクセスする方法を紹介します。
リモート接続に使う際のお勧めソフトは「UTF-8 TeraTerm Pro」です。
当サイト内関連記事
・WinSCP でファイル転送 このページで設定するSSH2を利用したファイル転送ソフトの設定方法を解説しています。
ページ内コンテンツ一覧
まずはLinux上でSSHの設定を行います。
# vi /etc/ssh/sshd_config
# RSA秘密鍵 identityを必須にする( no で“必須”を指定 ) PasswordAuthentication no # rootでのログインを禁止する PermitRootLogin no # パスワード無しのログインを許すか PermitEmptyPasswords no # .rhosts等を信用するか RhostsRSAAuthentication no
キモになる部分は上記の4点です。
設定項目や設定方法は他にもあるので、お考えのセキュリティポリシーに沿ったもを設定してください。
編集が済んだら、保存して終了します。
SSHを再起動します。
# /etc/rc.d/init.d/sshd restart sshdを停止中: [ OK ] sshdを起動中: [ OK ]
SSH の設定は以上です。
SSH2 RSA の鍵を作成します。
$ ssh-keygen -t rsa -C "SSH2 RSA key"
鍵の保存場所を聞かれますので、デフォルトのままでOKです。
その後、パスワードを2回入力します。
$HOME/.ssh/id_rsa
$HOME/.ssh/id_rsa.pub
が作成される
authorized_keysに公開鍵を追加します
$ cd /home/hoge/.ssh/
$ cat id_rsa.pub >> authorized_keys
$ chmod 600 authorized_keys
前項で生成された id_rsa を Windows クライアントに FDD などで転送します。
UTF-8 TeraTerm Pro を起動します。「新しい接続」ダイアログが起動しますので、ホスト名を入力し
以上の項目を入力してください。
すると、SSH認証のダイアログが開きますので以下の項目を入力しOKボタンをクリックし、サーバに接続します。
これでSSH2の鍵認証を用いたリモートアクセスが可能になりました。