【無料ツールで作るセキュアな環境(48)】〜OpenSSH 8〜(執筆:office) | ScanNetSecurity
2021.08.04(水)

【無料ツールで作るセキュアな環境(48)】〜OpenSSH 8〜(執筆:office)

 前回に引き続き、今回もOpenSSHのクライアントの利用方法について説明していこう。

特集 特集
 前回に引き続き、今回もOpenSSHのクライアントの利用方法について説明していこう。

 ssh によってログインすると、ssh は仮想端末を割り当てる。しかし仮想端末を割り当てずにいきなりリモートホスト上でのコマンドを、
$ ssh -1 -t office@sshd.office.ac ls work/

というように ssh の引数としてコマンド文字列を指定することによって実行することもできる。この場合、リモートホストのコマンドを引数に持つ ssh を入力するとまず、
Enter passphrase for RSA key 'office@sshd.office.ac':

という具合にパスフレーズの入力を求められ、その後に望むリモートホストでのコマンドが実行される。このような ssh を用いたリモートホストコマンドの実行は、例えばパイプを使ってファイル転送等に応用することもできる。ローカルホストのworkディレクトリを中のファイルごとリモートホストに転送するには、
$ tar -cf - work/ | ssh -1 -C office@sshd.office.ac tar -xvf

とすることができまる。なおこの例では -C を指定してgzipと同じ方式で圧縮転送しているので、tar には -z などのオプションを指定する必要はない。
 この ssh の後ろにコマンド指定する方法は、ジョブ制御や画面制御をリモートで実行しようとする時にはうまくいかないので、例えばリモートホスト上で使うシェルを指定しようとするような場合には、
$ ssh -1 -t office@sshd.office.ac tcsh

という具合に、引数としてシェルの起動コマンドを指定するだけでなく、-t オプションをつける。この方法でアプリケーションを起動するとコマンド入力作用先はローカルホストに戻ってきてしまっているので、該当アプリケーションをそのままControl-Cで止めることはできない。

 普通に ssh でログインすると仮想端末を割り当てられるので、Control-Cや、Control-Zなどのコマンドはローカルホストにではなく、リモートホストへ送られリモートホストに作用する。逆に言うと、これらの制御コマンドを ssh 自体に送って ssh の接続を中断するなどの制御をすることができない。ログイン中の ssh そのものの操作はエスケープシークエンスという特定のキー操作をして行う。

 エスケープシークエンスは、まずコマンドラインの行頭で ~ (チルダ)キーを押して ssh 制御のモードに入り、それに続いて制御のためのコマンド用キーを押して行うことができる。 ~ に続くキー押下とそのコマンドの意味は、次の表のとおり。


office
office@ukky.net
http://www.offife.ac/

(詳しくはScan本誌をご覧ください)
http://www.vagabond.co.jp/vv/m-sc.htm

《ScanNetSecurity》

Scan PREMIUM 会員限定記事

もっと見る

Scan PREMIUM 会員限定記事特集をもっと見る

カテゴリ別新着記事

「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」
「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」

ページ右上「ユーザー登録」から会員登録すれば会員限定記事を閲覧できます。毎週月曜の朝、先週一週間のセキュリティ動向を総括しふりかえるメルマガをお届け。(写真:ScanNetSecurity 名誉編集長 りく)

×