web-dev-qa-db-ja.com

Linuxを使用してsshで複数のサーバーに効率的に接続するにはどうすればよいですか?

私たちはオフィスでvSphereを実行しています。つまり、システムへのさまざまなssh接続を使用しています。私はWindowsの MputtyMobaXterm が本当に好きです。なぜなら、サーバーへの接続方法を保存して覚えているからです。したがって、接続は常にダブルクリックするだけです。

つまり、私はほとんどの場合、直接コマンドラインを使用してLinuxを実行しています。 Linux用のmputtyに相当するものを見つけたいと思います。以前の接続に基づいてサーバーに接続できるようにする、ある種のSSH接続マネージャー。

これまではCTRL-Rを使用して履歴から選択していますが、資格情報を入力する必要があるため、関心は限られています。

何を使ってるの? できれば、外部ソフトウェアに依存する必要はなく、CLから直接入手したいです。

3
jlengrand

これは製品推奨の質問であり、 オフトピック になります。

ただし、別のアプローチをお勧めします:~/.ssh/config。特定のホストのすべての非標準パラメーターを格納するために使用するため、ssh Host以外のものを使用することはめったにありません。それでも、bashエイリアスで抽象化され、@ Hostのみを使用して接続します。機械。

私のファイルからの例:

Host headnode
   Hostname headnode.cluster
   ProxyCommand ssh -a -X [email protected] netcat -v %h 22
   User username_on_cluster
   ForwardX11 yes

それを使用するために私がしなければならないのはssh headnodeだけです。

その他のアイデアについては、man ssh_configを参照してください。

そして、資格情報の部分を忘れたので、sshキーとssh-agentを使用します。このように、秘密鍵のロックを1回解除してから、ロック解除された秘密鍵を使用して、必要な数の接続を行うだけで済みます。

6
Sven

PAC-SSHマネージャーをご覧ください http://sourceforge.net/projects/pacmanager/

0
Andy

公開鍵と秘密鍵のペアの使用を承認できませんか?

パスワードをハードディスクのどこかに保存するよりもはるかに安全です。また、あるホストから別のホストにジャンプする(またはscpを使用してファイルをコピーする)ときにパスワードを入力する必要がないという利点があります。

Ssh-keygenを使用して、公開鍵と秘密鍵のペアを生成します。次に、ログインするすべてのホストの〜/ .ssh/authorized_keysファイルにパブリック部分をコピーします。

ローカルデスクトップでssh-agentを使用すると、ログイン後にパスフレーズを1回だけ入力すると、パスワードを入力しなくてもすべてのシステムにログインできます。

0
Thomas Stinner