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