LinuxからLinuxへのSSH接続

SSH トップへ戻る

クライアントの鍵を生成

最初にクライアント側の秘密鍵と公開鍵を生成しておきます。

  1. 一般ユーザーでLinuxへログインします。
  2. rsa鍵を生成します。
    ssh-keygen -t rsa
    「Enter file in which to save the key」と表示されます。ここで鍵を保存するファイルの指定をしますが、デフォルト値で変更の必要はありませんので、そのままEnterします。
    「Enter passphrase」と表示されます。ここでパスフレーズを指定します。パスフレーズはパスワードのようなものですが、パスワードより長い文字列も指定できます。パスワードと同じにはしないほうがいいと思います。
    「Enter same passphrase again:」と表示されるので、もう一度パスフレーズを入力します。
  3. dsa鍵を生成します。
    ssh-keygen -t dsa
    「Enter file in which to save the key」と表示されます。ここで鍵を保存するファイルの指定をしますが、デフォルト値で変更の必要はありませんので、そのままEnterします。
    「Enter passphrase」や「Enter same passphrase again:」と表示されます。ここでパスフレーズを指定します。

サーバーのhosts.allowを変更

/etc/hosts.allowの設定をします。
ここに sshd: 192.168.0. など、接続するホストを書いておきます。この例では192.168.0.1〜254のIPアドレスからログインできます。


サーバーへ公開鍵を転送

「公開鍵」というぐらいですからftpで転送してもいいと思うのですが、私もよくわからないので念のためここでは公開鍵の転送もsshを使います。

  1. 一時的にサーバー側のパスワード認証を許可しておきます。
    $ su -
    /etc/ssh/sshd_configを編集して「PasswordAuthentication」を「yes」に変えてください。
  2. sshdを再起動します。
    # /etc/rc.d/init.d/sshd restart
    # exit
  3. 公開鍵をサーバーへ転送します。SERVER_NAMEは転送先サーバーを指定します。
    scp ~/.ssh/id_rsa.pub SERVER_NAME:~/.ssh/authorized_keys
    scp ~/.ssh/id_dsa.pub SERVER_NAME:~/.ssh/authorized_keys2
    転送のたびにパスワードを聞いてきますので、Linuxのログイン時に使うパスワードを入力してください。
  4. サーバー側のパスワード認証を許可しないようにします。
    $ su -
    /etc/ssh/sshd_configの「PasswordAuthentication」を「no」に変えてください。
  5. sshdを再起動します。
    # /etc/rc.d/init.d/sshd restart
    # exit

サーバーへsshで接続

これで接続の準備は整いました。sshを使ってサーバーへ接続するには
ssh SERVER_NAME
これでOKです。パスフレーズを聞かれますので、鍵生成時に指定したパスフレーズを入力してください。

Copyright©2001-2017 釣ったよ! All Right Reserved.    sg@tsuttayo.jpn.org