• ベストアンサー

sshで実行されるファイルはどこのか

sshでリモートマシンにログインした状態でコマンドを入力した時に検索•実行される実行ファイルはどこのでしょうか。

  • ppk37
  • お礼率100% (34/34)

質問者が選んだベストアンサー

  • ベストアンサー
  • vaidurya
  • ベストアンサー率45% (2714/5983)
回答No.3

ログイン先のPCの実行PATH設定によります。 sshはLinux同士に限らず、FreeBSDなどのUNIXや Windowsなどでも使われる技術ですから 実行ファイル検索が、ログイン先OSで動く以上 そのOS環境にある実行ファイルしか動きませんし、実行されないようになっています。 これはRaspberry PiのようなARM端末からsshでログインして ログイン先のx86のLinux環境にある、ARM用が無いソフトを利用するようなこともできることを意味します。 sh,bashやzshなどのシェルが、sshログインした状態では ログイン先のOSの上で動いているシェルに変わっていて ローカルのシェルは、それを転送されて表示されているだけなわけです。 これはtelnetでも同様ですし、パソコン通信の仕組みにも似ています。 パソコン通信でログインした先では、DIRやlsが使えませんでしたが ログイン先で提供されているシェル(ないしシェル相当するもの)に無い機能は使えないわけです。 ログイン先がUNIX系OSでbashなどが使われているなら whichコマンドで、実行ファイルの実体をフルパスで確認できます。 これも特にIPアドレスなどの表示は伴いませんが、必然的にログイン先のフルパスです。 -Xオプションをつけて、X転送を用いた場合は X Window Systemのプロトコル設計にネットワーク透過がありますから アプリケーション自体が、Xクライアントとしてログイン先で動作し ローカルにあるXサーバーに、表示を送りつけてきます。 そして、ローカルのXサーバーでUIが処理され、アプリケーションに送られます。 これによって、ログイン先PCのGUI設定ツールなどを ローカルのX Window System上にシームレス表示して管理することができます。 この際にウィンドウの修飾などは、ローカルのXのものが使われます。 ウィンドウのタイトルバーなどはローカルの設定で その中のものだけが、ログイン先から送られてきた映像ということになります。 ただし、X転送では音声の転送は行われないので pulseaudioやESDなどの、LAN転送ができるサウンドサーバーを使って 音声が転送されるように設定する必要があります。 必然的に、音声と映像の同期は保証されません。普通ずれると思います。 フレームレートやLANの帯域浪費の問題があるので 動画再生などには向きません。

ppk37
質問者

お礼

ご回答ありがとうございます。 大変丁寧に教えていただけて感謝しております。

その他の回答 (2)

  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.2

「どこの」が何を指しているのか不明ですが…… とりあえず、そのリモートマシンに入っているもの(マウントされているもの)。 かと。 実行されるファイルのパス名とかそういう質問なんでしょうか???

ppk37
質問者

お礼

ご回答ありがとうございます。 おっしゃる通り曖昧な質問で失礼いたしました。 大まかに言えば、ログイン元か、ログイン先かが知りたかったことです。

  • dolittle0
  • ベストアンサー率26% (11/42)
回答No.1

ログインしているリモートマシンのものです。 簡単なファイルをバックグラウンドで実行して、プロセスで確認してはいかがでしょうか。

ppk37
質問者

お礼

ご回答ありがとうございます。確認してみたいと思います。

関連するQ&A

  • sshのコマンド実行について

    プログラマの方から以下の作業をするように言われたのですが 下記を実行するのにどのようにしたらよいか教えてください。 sshログインした後、 /usr/local/www ディレクトリへ移動し ./symfony cc コマンドを実行 sshでサーバーにログインしたことがなく、 調べてみたところ、ttermproが必要とのこと。 ダウンロードし、開いて見たのですが、 何をどう入力したらよいのかわかりません。 質問がおかしいかもしれませんが、どのようにお聞きしたらよいのか分からず・・・ よろしくお願い申し上げます。

    • ベストアンサー
    • PHP
  • ssh-keygen について

    パスワードなしでリモートホストにログインする方法で、 「ssh-keygen -t rsa」 コマンドを利用しているのですが、ここで 鍵ファイル名をid_rsa ではなくxxx_rsa とした時に 公開鍵をリモート、秘密鍵をローカルに設置して「ssh user@hostname」コマンド を行ってもパスワードを聞かれてしまいます。 デフォルトのid_rsa のままで同じことをすればパスワードを聞かれないのですが、 鍵ファイル名を変更したときには、他に設定すべき項目かsshログインするときに 必要なオプション等はありますでしょうか。 回答よろしくお願いします

  • SSH接続でwindowsサーバのコマンドが実行できません

    SSHでwindowsサーバに接続して、OSコマンドを自動実行してクライアントにアウトプットを取得したいと思っておりますがうまくコマンドが実行できません。 以下環境とやりたいことです。 <環境> Windowsサーバ(ssh server): WindowsXP OpenSSHインストール済み クライアント(ssh client): WindowsXP ※Windowsサーバとクライアントは公開鍵認証でパスワードなしでsshコマンドでクライアントからサーバにログインできるようになっています。 <やりたいこと> クライアントからsshで定期的にWindowsサーバログインしてサーバ上のファイル情報を取得したいので、以下のようなコマンドとクライアントから定期実行しようと考えてます。 例: ssh -i id_dsa username@server dir しかし、sshで一度サーバにログインしてからだと普通どおりにコマンド実行できるのですが、sshでコマンドを渡す場合には、c:\windows\system32\command.comを記述する必要があるようで、実際には、 ssh -i id_dsa username@server c:/windows/system32/command.com dir のように指定しています。 ここからが質問です。 Q.このとき、dirコマンドの引数にファイルを指定しても、"ファイルが見つかりません"のエラーになってしまいます。 コマンド例: ssh -i id_dsa username@server c:/windows/system32/command.com dir filename 出力例: -------------------------------------------------- ドライブ C: のボリュームラベルは XXXXXX ボリュームシリアル番号は XXXXX ディレクトリは XXXXXX ファイルが見つかりません. --------------------------------------------------- SSHサーバがLinux/Unixの場合は特に問題なくコマンドが実行できたのですが、Windowsの場合にはどのようにコマンドを指定すればよいのでしょうか? よろしくお願いします。

  • MacでSSHログインする時に

    MacBookProの「ターミナル」からSSHコマンドでログインする時に 「SSHキー"rhel.com"のパスワードを入力してください。」という メッセージボックスが表示されます。 リモート先はRHELですが、sshキーは作成していません。 いちいち聞かれるのが鬱陶しいので、ssh-keygenでキーを作成してるところだけ (メッセージボックスじゃなくてターミナル上で)聞かれるようにしたいのですが、 何か設定が悪いのでしょうか? sshの設定をいろいろいじったのは覚えてますが、 どこをいじったら そうなったのかが覚えていません。 お願いします

  • sshについて

    cygwinを入れてssh2によって 学校のサーバーに自宅からログインできるようになりました。 しかし学校のサーバーは学内からでないとftpなどは ファイアーウォールではじかれてしまいます。 よってffftpなどを用いても学外では繋がりません。 このような状態ではやはり ssh2ではファイルを転送(scpコマンドなど)は出来ないでしょうか? サーバーにあるファイルを自由に自宅でも使ったりはこの状況では無理でしょうか?

  • SSHをsystem関数で。

    SSHログイン先のコマンド結果出力と、SSHログイン先のプロンプトを表示させたいです。 Perlでsystemを使用してSSHログイン先でコマンド実行した結果とプロンプト表示のみ 出力したいのですが、下記ではうまくいきません。。。 system( ssh -q 10.x.x.x ; ls);  *ここでsshはパスワードやユーザーを聞かれないように設定済み。 *"-q"はsshのオプションで、SSHログイン時の出力をしない設定 *ログイン先シェルはcsh (求める出力結果)************** [sshログイン先prompt] ls結果・・・ ls結果・・・ [sshログイン先pprompt] ****************************** 不明確な部分等ありましたらすみません。。。 どうかご教授お願いいたします。

  • シェルの実行中にユーザ切り替えてコマンド実行

    はじめまして。 シェル初心者です。 shell.shをrootユーザでクーロン実行していますが、 shell.shの処理の中で、違うユーザでコマンド実行したいのですが、 可能かどうかも、方法が分かりません。 教えていただけないでしょうか。 環境はLinuxです。 下記のコマンドを実行したいです。 リモートでログインしてコマンド実行結果を取得する ssh -l tomcat server_tomcat grep test /tmp/test.log ※他のユーザでsshを実行してコマンド結果を取得したいです。 以上。宜しくお願い致します。

  • sshで文字化けしてしまう

    sshを使ってリモートマシンに接続しているのですが、 文字化けが起きてしまいます。 特に日本語を使いたいとは思っていないので、 リモート、ローカル、ともに    export LC_MESSAGES="C" の設定をして、メッセージの日本語翻訳を行わないようにしました。 実際、それぞれのマシンで(それぞれローカルで)確認してみると、 全てのメッセージは英語表記されるのですが、 sshでリモートマシンにログインして作業を行うと、 英語表記がなされず、文字化けしてしまうという状況です。 どうしたらこの文字化けは解消できるでしょうか。 ローカルマシンは CentOS release 4.5 (Final)、 リモートマシンは Vine Linux 3.2 (Ducru Beaucaillou)です。 なお、理想としてはローカルマシンに依存せずに 文字化けを解消したいと思っています。

  • ubuntu12.04上でのssh-addについて

    以前、ubuntu11.10上でgitを利用していたときは、一度、『ssh-add キーのパス』を入力しておけば、その後ログイン時に一度パスフレーズを入力すればよかったような気かするのですが、12.04上では、ログインの度に『ssh-add キーのパス』を入力しなければいけなくなってしまいました。 ~/.ssh/configも作成してキーの位置も指定しているのですが、うまくいきません。 『ssh-add』後は問題なく接続できています。 何か設定を忘れているのでしょうか? そもそも、configファイルを読み込んでいない気もします。 お手上げ状態です、よろしくお願いします。

  • SSH

    [PC1:Fedora6]マシンから、[PC2:Fedora6]マシンへ、 sshを使ってログインしての作業は問題なくできていました。 [PC1]にて、[PC3:CentOS(仮想マシン)]を立ち上げました。 [PC1]から[PC3]へsshでログインしようとすると、以下のエラーがでます。  "ssh_exchange_identification: Connection closed by remote host" [PC3]から[PC1]へsshでログインしようとすると、以下のエラーがでます。  "セグメント違反です。" なにか、設定等必要なのでしょうか? よろしくお願いいたします。 * /etc/hosts.allowおよび/etc/hosts.denyには、 コメント以外なにも書かれていませんでした。