飛び石[電源を入れる] sshのスキル

、ターンオリジナル: https://segmentfault.com/a/1190000020326898?utm_source=tag-newest

-------------------------------------------------- -

私たちは外部のネットワークに接続したいときには、外部ネットワーク・サーバの管理には、セキュリティやその他の要因のために、我々は一般的に、すべてのSSHサーバを直接接続するように設定されて入れませんが、踏み台マシンとしてマシンを選ぶだろうサーバは、我々は最初のssh経由踏み石にログオンする必要がある場合には、ターゲット・サーバーへの飛び石からログインします。

ここでは、どのようにログインプロセス踏み台マシンを表示するために実験を使用しています。

この実験では、我々は、ターゲットサーバを表すために機械192.168.57.3を用い、サーバがSSH直接接続することができない、唯一の機械192.168.56.5に踏み台マシンを表す、飛び石を介して接続し、踏み台機が直接接続され、SSHができます。

私たちは、パスワードなしでログインできるように、測定テストを容易にするために、我々は、コンピュータ上で私たち自身の公開鍵はsshを入れて、ターゲット・サーバー・マシンの踏み台の.ssh / authorized_keysファイルにコピーされました。

ここでは、テストプロセスは、次のとおりです。

  • 飛び石のsshログイン。
$ ssh u3@192.168.56.5
Last login: Sun Sep 8 19:51:48 2019 from 192.168.56.1 u3@h3:~$
  • ターゲットサーバへの飛び石からログインしてください。
u3@h3:~$ ssh -o "PasswordAuthentication no" u2@192.168.57.3 u2@192.168.57.3: Permission denied (publickey,password).

コマンド「PasswordAuthenticationをノー」の-Oパラメータ手段パスワードなしのログオン。

私たちは、コンピュータ上でSSH公開鍵を入れているので、我々は、ターゲットマシンのの.ssh / authorized_keysファイルにコピーされ、理論的には、正常にログインすることができるはずですが、上記のコマンドが、表示しログイン失敗、間違っていますか?

公開鍵は、ターゲットマシンにコピーされているが、この時点で我々は踏み石に、ステッピング石や私たち自身のマシンの無秘密鍵であるが、実際には非常に簡単、公開鍵と秘密鍵のペアへのSSHキーログインは、存在します。

その後、我々は石ができないステッピングにプライベートキーをコピー?

いいえ、秘密鍵は一度マシンにコピー踏み台、およびそのほかのマシンが踏み台人にログオンすることができますので、私たちの秘密鍵を取得し、これは非常に安全ではないことができます。

どのようにそれを行うには?

実際には、この問題は、エージェントフォワーディングSSHによって解決することができ、我々は、特定の操作を見て、そしてそれがどのように動作するかを説明します。

さんは、その後、以下の処理を実行し、自分のマシンに戻りましょう:

  • オープンのssh-agent、そしてssh-agentのに私たちのプライベートキーを追加します。
$ eval $(ssh-agent)
Agent pid 8350
$ ssh-add
Identity added: /home/yt/.ssh/id_rsa (yt@arch) Identity added: /home/yt/.ssh/id_ed25519 (yt@arch)
  • sshは飛び石にログインします(ただし、この追加の-Aパラメータは、エージェントの転送に示します)。
$ ssh -A u[email protected].5
Last login: Sun Sep  8 21:13:01 2019 from 192.168.56.1 u3@h3:~$
  • ターゲットマシンに飛び石からログインしてください。
u3@h3:~$ ssh u2@192.168.57.3 Last login: Sun Sep 8 20:45:03 2019 from 192.168.57.4 u2@h2:~$

上に見られるように、踏み台マシンからログインターゲットマシンが成功すると、その理由は、我々は、エージェントフォワーディングを開いたということですが、それは我々がそれの飛び石からターゲットマシンのログを記録するのに役立つ方法ですか?

我々は踏み台マシン上のターゲットマシンへのログインをsshをすると、ターゲットマシンは、認証を行うために、対応するのsshで秘密鍵を飛び石必要になりますが、飛び石が鍵、そして私たち自身のコンピュータに保存されたキーではなく、また、我々理由チャンスは、あなたがこの認証要求を受け取る私たち自身のコンピュータに転送し、認証要求、我々は自分のコンピュータを踏み台するので、お使いのコンピュータが、エージェント転送からSSHログイン踏み石になっている場合、ssh-agentの認証プロセスを検索しますが、初めから、我々はSSH-addコマンドは、認証が成功したように、ssh-agentの中に私たちのプライベートキーに追加されます渡され、踏み台マシンに私たちのサブマシン認証結果、その後、マシンの踏み台結果ターゲットマシンに転送の下で、これはsshには、秘密鍵は、私たちの踏み台マシン、ログインターゲットマシンや成功はありません。

我々は実験的に見て、これは、ログインプロセスの踏み台マシンであるが、これは、実際には、簡単な方法は、単に基本的な方法がありますされています。

あるいは、最初の私たち自身のマシンに戻って、次のコマンドを実行します。

$ ssh -J u3@192.168.56.5 u2@192.168.57.3 Last login: Sun Sep 8 21:09:13 2019 from 192.168.57.4 u2@h2:~$

ああ、実際には単にターゲットマシンに飛び石からプロセスを通過していない、直接成功したコマンドを使用します。

コマンドの-Jパラメータは、コマンドが実行された後、sshは私たちが踏み台マシンをログに記録することを支援して、ターゲットマシンにログオンし、踏み石を指定するために使用され、すべてが自動的に行われます。

ファイルをコピーするためにscpコマンドを使用するときに-Jパラメータを持つメリットがある飛び石指定の方が便利です。

通常の方法ならば、我々は最初の踏み台マシンにファイルをコピーする必要があり、その後、あなたは-Jパラメータを使用している場合は、私たちが取得する単一のコマンドを使用し、非常に面倒、ターゲットマシンに飛び石からコピーします。

$ scp -J u3@192.168.56.5 abc.txt u2@192.168.57.3:/home/u2/ abc.txt 

パーフェクト!

SSHの踏み台マシンに関する知識はこの権利を停止します、我々は手助けをしたいです。

仕上がり。

よりオリジナルの記事、私のマイクロチャンネル公衆数にしてください注意を払います:

おすすめ

転載: www.cnblogs.com/oxspirt/p/12152363.html