バックグラウンドでsshを使用する

ネットワークセキュリティを考えて、従来のrsh系コマンドの代わりに ssh系コマンドを使用することが推奨されている。 確に、セキュリティの面では、sshのデフォルトの毎回パスワードを要求する モードが安全であるが、このままではバックグラウンドで使用する際には 支障が生じる。そこで、ssh系コマンドではパスワードを要求を抑止する設定を ここに掲載する。コマンドのいくつかは、root権限が必要である。

以下では、ノード termin.daigaku.ac.jp を端末として、ノード server.daigaku.ac.jp で、コマンドを走らせる場合で、記載する。

  1. ssh系コマンドと、そのサーバープロセスをインストールする。 両者にフルインストールすることが望ましいが、最低限、 server.daigaku.ac.jpにサーバー(sshd)を、termin.daigaku.ac.jpにクライアントを インストールする必要がある。 インストール後の、サーバーの設定は、こちら
  2. server.daigaku.ac.jpで、$HOME/.shostsに
    termin.daigaku.ac.jp user-ID
    
    の形式で、端末を登録する。 ノード名とユーザーIDの間は、tab。
  3. server.daigaku.ac.jpの上で、
    chmod 600 $HOME/.shosts
    
    で.shostsファイルを外部から読めなくする。
  4. server.daigaku.ac.jpで走っているシェル上で
    ssh termin.daigaku.ac.jp
    
    を実行する。termin.daigaku.ac.jpをFQN(フルノード名)で入力する 必要がある。
  5. Host key not found from the list of known hosts.
    Are you sure you want to continue connecting (yes/no)?
    
    と聞かれるので、yesと答えて、一旦、sshで入る。 この時は、パスワードを要求される。
  6. 入ったtermin.daigaku.ac.jpから逆向きに
    ssh sever.daigaku.ac.jp
    
    で入る。 この時も、先ほどと同じように確認が出るが、パスワードは要求されない。
  7. ここで、パスワードを要求された場合は、server.daigaku.ac.jpの $HOME/.shostsのノード名をterminのみにするとよい場合がある。
  8. 一旦、exitでtermin.daigaku.ac.jpへ戻る。
  9. 以降、ssh server.daigaku.ac.jpで入る場合には、パスワードも確認も なしに、リモートログインできる。また、この状態だと、scpなども可能であるから、 ssh系コマンドをバックグラウンドで使用できる。
  10. さらに、(同一ドメインなどの場合で、)FQNではなく、単なるノード名で 実行したい場合は、termin.daigaku.ac.jpから
    ssh server
    
    で入り、接続確認を行えば、serverの.shostsにノード名のみのエントリーを 追加しなくても良い。