web-dev-qa-db-ja.com

Linuxサーバーでは、単一のSSH接続で複数の端末をどのように使用しますか?

tail -fを使用して一度に複数のログファイルを表示するために、複数のSSH接続を開くことがよくあります。

パスワードなしのログインには公開鍵暗号化を使用しているので、家にいるときは問題ありません。ただし、大学でコンピューターを使用することが多いため、秘密鍵を使用することはできません。複数のターミナルウィンドウを取得するためにパスワードを4〜5回入力するのは面倒です。

1つの接続で複数の端末を取得するにはどうすればよいですか?

15
epochwolf

GNU screen を使用するだけで、リモートセッションを開始し、接続が切断された場合にリモートセッションを復元できるので、すばらしいです。ほとんどのディストリビューションのパッケージとして利用可能であり、大学のシステムにすでにインストールされている場合もあります。

manual を使用すると、開始するために必要なすべてが提供されます。デフォルトでは、すべてのコマンドの前にCtrl+Aが付いています。たとえば、オンスクリーンヘルプを表示するには、Ctrl+Aを押してから?を押すだけです。

38
saschabeaumont

screenを使用すると、複数の端末などを使用できます(セッションのデタッチおよび再接続など)。

あなたを動かすためのいくつかのメモ:

Ctrl-a c   create
Ctrl-a d   detach
screen -r  reattach
Ctrl-a a   toggle
Ctrl-a "   list

そして、いくつかの推奨読書:

11
Philip Durbin

SSH接続共有に関する次の2つの記事をご覧ください。

http://fermiparadox.wordpress.com/2008/06/19/ssh-connection-sharing/
http://protempore.net/~calvins/howto/ssh-connection-sharing/

基本的に、 ssh接続共有 でグーグル検索を行うと、他の記事がたくさん見つかります。

4
Evan

おそらく、X転送を使用して、ローカルデスクトップで複数のリモートxtermを開くことができます。

3
John Fouhy

byob もご覧ください。これはScreenの拡張バージョンであり、Ubuntuプロジェクトだと思います。ただし、Ubuntu 9.10以降には標準で付属しています。

私は習慣的にスクリーンを使用する傾向がありますが、この新しい代替案について言及したいと思いました。

2
3dinfluence

他のシステムの秘密鍵を使用できないという説得力のある理由はありません。マシンごとにそれらを生成し、適切なキーをauthorized_hostsに追加します

それでも、画面を使用します。

2
ironfroggy

あなたがそれを使用しているすべてがいくつかのファイルをテーリングする場合、あなたは multitail にも興味があるかもしれません。

1
Evan

言及されていない画面機能の1つは、画面を「切り離す」ことであり、その画面のセットで実行しているコマンドを実行し続けます。画面が切り離されると、ログアウトすることができ、ログオフした後でも、すべてのログアウトが続行されます。画面を起動してから、いくつかのcコマンドを実行して新しい「従属画面」を作成します。私はそれらを切り替えて、長時間実行されているコンパイルまたはデータ処理を開始することができ、私のくだらないVPN接続がすべてを死に至らしめることはないと確信しています。

ログオフした後、再度ログインして「screen -R」を使用すると、既存の画面セソインに再接続できます。

1
Paul Leclerc

screensshと一緒に使用するには、次のように入力します

ssh -t <user>@<server> screen -r

ソース )。 man ssh:

-t疑似端末の割り当てを強制します。これは、リモートマシン上で任意の画面ベースのプログラムを実行するために使用できます。これは非常に便利です。メニューサービスを実装するとき。複数の-tオプションは、sshにローカルttyがない場合でも、ttyの割り当てを強制します。

0