SSHで簡単ホームネットワーキングFocus on Technology(3/4 ページ)

» 2007年11月09日 03時15分 公開
[Open Tech Press]
SourceForge.JP Magazine

SSHを使ったプログラムのリモート実行

 SSHデーモン(sshd)が実行中の状態になっていれば、SSHサービスの利用は簡単だ。ターミナルウインドウを開き、ユーザー名と先ほど調べたIPアドレスを指定して次のコマンドを実行すればよい。

ssh -Y -l ユーザー名 IPアドレス


 -YスイッチはホストPC側X Windowアプリケーションの信頼できる転送を有効にするもので、クライアントPCのX Window環境でこうしたアプリケーションの実行が可能になる。また、-lスイッチを使えば、ログイン先のユーザー名を指定できる。このスイッチを指定しない場合は、クライアントPCで使用中のユーザー名でログインを行うものと見なされる。

 わたしの場合は、自分のホームディレクトリに用意してある簡単なbashスクリプトを使って接続を行っている。以下のスクリプトのユーザー名とIPアドレスを書き換え、ファイル名をssh_connect.shとして保存するとよいだろう。

#!/bin/bash

#ssh_connect.sh

ssh -Y -l ユーザー名 IPアドレス


 このファイルを実行可能形式にし、ターミナルウインドウのホームディレクトリから「./ssh_connect」と入力してスクリプトを実行する。

 はじめてログインする際には、次のようなメッセージが表示されるはずだ。

The authenticity of host 'IP address' can't be established.

RSA key fingerprint is a long string of characters

Are you sure you want to continue connecting (yes/no)?


 ここで“yes”と答えると、SSHアプリケーションによって、信頼できるホストが列挙されているホームディレクトリ内の隠しファイルに、指定したIPアドレスのエントリが追加される。

 アプリケーションのリモート実行を行うには、ホストPCへの接続に用いたターミナルのコマンドラインからプログラム名を入力するだけでよい。X環境にいれば、リモート接続でX Windowアプリケーションが動作する。例えば、「thunderbird&」と入力すれば、ノートPCからデスクトップPCのThunderbirdを利用してメールを読むことができる。最後にアンパーサンド(&)をつけるとアプリケーションがバックグラウンドで実行されるため、アプリケーションの実行中でもコマンドラインを利用できる。SSHクライアント側のPCは、SSHホストPCから見れば追加のキーボードおよびモニタとして動作するため、SSH経由でSSHクライアント側の行うあらゆる作業は、ホスト PC側で実行されることになる。

Copyright © 2010 OSDN Corporation, All Rights Reserved.

注目のテーマ