シナリオを考えると:
- リモートマシン:SSHサーバー。ユーザーには管理者権限がありません。
- ローカルマシン:SSHクライアント。ユーザーには管理者権限があります。
場合は、ユーザは、へのログインリモートからローカル、と対話したいリモートにインストールされていないシェル使用してリモートを、どのように缶ユーザーはこれだけでは達成しますか?
例:ユーザーが使用して魚を上のローカル、および上でそれを使用することも望んでリモートが、遠隔だけ持ちのbashとzshのがインストールされています。
シナリオを考えると:
場合は、ユーザは、へのログインリモートからローカル、と対話したいリモートにインストールされていないシェル使用してリモートを、どのように缶ユーザーはこれだけでは達成しますか?
例:ユーザーが使用して魚を上のローカル、および上でそれを使用することも望んでリモートが、遠隔だけ持ちのbashとzshのがインストールされています。
回答:
リモートマシンにお気に入りのシェルをインストールします。そのために管理者権限は必要ありません。ホームディレクトリにプログラムをインストールできますが、あまり便利ではありません。rootにならないで32ビットのdebian 5 にインストールする、sudo特権なしでプログラムをローカルにインストールする方法を参照してください。、プログラムやその他の質問を追跡します。
デフォルトのシェルではなく、自分でインストールしたシェルに自動的にログインする場合は、ルートアクセスなしのzshデフォルトシェルの作成を参照してください。
リモートファイルを操作するだけの場合は、SSHFSを使用してリモートディレクトリツリーをローカルマシンにマウントできます。
mkdir ~/remote.d
sshfs remote.example.com:/ ~/remote.d
ls ~/remote.d/
…
fusermount -u ~/remote.d
ホームディレクトリにスペースがない場合、または共有アカウントである場合は、2つのマシンが同じアーキテクチャを実行していると想定して、リバースSSHトンネルを設定し、SSHFSを使用してリモートマシンにローカルディレクトリツリーをマウントできます(同じプロセッサタイプの同じUNIXバリアント)。2つのマシンに互換性のないアーキテクチャーがある場合は、ローカルホームディレクトリにリモートアーキテクチャー用のプログラムをインストールすることもできます。プログラムがライブラリ、構成ファイル、その他のデータファイルを見つけるには、パスを正しく設定する必要があるため、これはあまり便利ではありません。
EmacsのeshellはTrampと互換性があります。Eshellでリモートディレクトリに移動すると、リモートマシンでコマンドが実行されます。
ユーザーは、sshfsを使用してリモート$ HOMEをローカルマシンにマウントできます。そのようなシナリオでは、ユーザーは自分の選択したシェルをリモートマシンで直接使用することはしませんが、それでも何もしないよりはましです。
「リモートマシンにコマンドをインストールする」という明白な答えが最もクリーンなソリューションであるため、無視しないでください。
これはrootとしてコマンドをインストールすることが可能であるならば、と例えば
sudo apt-get install fish
、
コマンドは次のように実行することができます。
ssh remote -t fish
問題は、リモートコンピューターにコマンドをインストールできない場合の対処方法です。
より具体的には、rootとしてコマンドをインストールできない場合です。
それは私たちがまったくインストールできないことを意味しません!
それでも、ソースからビルドして、ホームディレクトリ内にコマンドをインストールすることは可能です。
これには、コマンドに付属する可能性のあるすべての関連サポートファイル、およびプログラムがそれらを見つける方法が処理されるという利点があります。でfish
シェルの例、これらは補完機能は、我々だけでコピーした場合、すべて、など利用できないfish
バイナリを。
ソースからコマンドをビルドするには、使用するライブラリの開発ツールと開発ファイルが必要ですが、複雑すぎる場合があります。
しかし、多くのプログラムには、必要なものがすべてソースにまとめられているので、簡単な場合があります。以前はわかりにくいですが、試すだけで十分です。
コマンドをホームディレクトリにインストールするには、インストール先configure
のパスが提供されます -ビルド手順で確認する必要があります。例えば:
mkdir ~/local
./configure --prefix=~/local
make
make install
それはありません注意してくださいsudo make install
いつものように-それはだとして、全体のポイントここでは須藤必要がないためにローカルにインストールします。
ソースからのプログラムのインストールに関する一般的な情報については、askubuntu.SE:.tar.gz(または.tar.bz2)ファイルをインストールする方法を参照してください。
あるマシンのシェルを別のマシンで実行することはできないと思います。リモートマシンで実行する唯一の方法は、インストールすることです。