SSH経由でリモートサーバーにログインし、リモートログインシェルでプログラムを実行する単一のコマンドを構築する方法はありますか?
OpenSSHマニュアルでは、「コマンドが指定されている場合、ログインシェルの代わりにリモートホストで実行されます」と表示されます。したがって、たとえば、ssh user@server mail
リモートサーバーにログインし、メールボックスの状態を表示してから、ローカルシェルに戻ります。メールステータスを表示した後、リモートシェルに留まる方法はありますか?
さらに、ssh user@server [command]
コマンドがプログラム(vimやmuttなど)の場合は機能しないようです。リモートシェルにログインし、プログラム中およびプログラムを終了した後、特定のlogout
コマンドで最終的にのみ終了した後、プログラムを実行する方法はありますか?
最終的には、ローカルの.bashrcにエイリアスとしてこのようなコマンドを配置できるようにして、必要なときにすぐに実行できるようにします。例としては、SSHを介してリモートサーバーにログインし、リモートサーバーでmuttを開いてメールを読んだり送信したりします。
まあ、それはコマンドを実行してからリモートシェルを取得するように動作するようですが、1つのSSH接続を開いてコマンドを実行し、SSH接続を閉じてから別のSSH接続を開くことでそれを行います。これをすべて単一の最初の接続で行う方法はありますか?また、これでもコマンドでプログラムを実行できるようにはなりません。
—
user981178 14年
ssh remote@server mail ; ssh remote@server
か?また、端末を必要とするリモートで実行されたコマンドは、sshで正しく動作しませんか?