[再印刷] SSHの原理と応用(B):遠隔操作とポートフォワーディング

SSHの原理と応用(B):遠隔操作し、ポートフォワーディング

 

そして、元記事では、SSHの使用状況を紹介し続けています。

=======================================

SSHの原理と応用(B):遠隔操作し、ポートフォワーディング

著者:ルアンYifeng

(画像のクレジット:  トニーNarlock

七、遠隔操作

リモートログインのためにSSHだけではなく、あなたはまた、リモートホスト上で直接操作を行うことができます。

操作上の例は次のとおりです。

  $ sshのユーザ@ホスト 'ます。mkdir -pの.ssh &&猫>>の.ssh / authorized_keysに' <の〜/ .ssh / id_rsa.pub

リモート・ホスト上で動作を示す単一引用符中間部が、入力リダイレクションの後ろ、SSHは、リモートホストに送信されたデータを表します。

これは、SSHは、ユーザとリモートホストの間で、コマンドおよびデータ伝送チャネルを確立することができ、と言うことですので、多くのものは、SSH経由ですべてを行うことができます。

のは、いくつかの例を見てみましょう。

【例1】

リモートホストの$ HOME / srcに/ディレクトリにコピーされたファイルのすべての$ HOME / srcが/ディレクトリ。

  $ CD &&タールczv SRC | sshのユーザ@ホスト「タールXZ」

【例2】

ファイルのすべてのリモートホストの$ HOME / srcに/ディレクトリには、ユーザーの現在のディレクトリにコピー。

  $ sshのユーザ@ホスト 'タールCZ SRC' | タールxzv

【例3】

リモートホストのランニングはHTTPDを処理するかどうかを確認してください。

  $ sshのユーザ@ホスト「のpsの斧| grepの[H] ttpd」

八、ローカルポートが結合します

SSHは、データを送信することができますので、我々はこれらの暗号化されたネットワーク接続を任せることはできないので、すべての変更は、このように安全性を向上させること、SSH接続を行きます。

我々はデータポート8080を聞かせていると、SSH経由でリモートホストに送信され、コマンドが記述します。

  $のssh -D 8080ユーザ@ホスト

SSHは、ローカル8080ポートを監視するために、ソケットを作成します。データがそのポートに送信されると、自動的にリモートホスト宛てSSH接続を、上記に転送します。8080は非暗号化されたポートであることが判明した場合を想像し、今で暗号化されたポートになります。

九、ローカルポートフォワーディング

時には、結合ローカルポートが十分ではありません指すように「ポートフォワーディング」ポイントを形成するように、あなたはまた、ターゲットホストのデータ転送を指定する必要があります。後で区別するために「リモートポート転送を、」私たちはそれを入れて、「ローカルポートフォワーディング」(ローカルフォワーディング)。

リモートホストはhost2、ローカルホストがHOST1であることを前提としています。様々な理由のために、それは2つのホスト間で通信することはできません。しかし、HOST3添加は、フロント二つのホストが同時に通信することができます。したがって、それは自然な発想もHOST1のhost2の上、host3ということで、あるあります。

私たちはHOST1で次のコマンドを実行します。

  $ sshをする-L 2121:ホスト2:21 HOST3

それらの間のコロンで区切られた「:ターゲットホストポートターゲットホストローカルポート」、コマンドパラメータLは、すなわちを、3つの値の合計を受けました。このコマンド手段は、SSHはローカルポート2121を結合し、その後、(FTPを実行しているホスト2を想定し、デフォルトのポートは21である)ターゲットホストのホスト2のポート21に転送するすべてのデータをHOST3指定指定されています。

結果として、限り、我々は、ホスト2のポートに接続された21に相当する2121のHOST1ポートを、接続しました。

  $のftp localhostを:2121

「ローカルポート転送は」HOST1とHOST3の間で秘密のデータ伝送トンネル場合、それはとも呼ばれるように形成されている「SSHトンネル」。

ここで興味深い例です。

  $ sshをする-L 5900:localhostを:5900 HOST3

それは5900ポート5900ポート製本機によるHOST3を示す(ターゲットホストがHOST3相対的な用語であるため、本明細書にローカルホスト、HOST3を意味します)。

別の例は、ポートフォワーディング、SSHログインHOST2てHOST3されます。

  $ sshをする-L 9001:ホスト2:22 HOST3

このとき、機械のsshのポート限りログインhost2のと同等の9001を、ログに記録します。

  $ sshの-p 9001 localhostを

上記は、ログインポートを指定するには、-pパラメータを表しています。

テン、リモートポートフォワーディング

「ローカルポートフォワーディング」は結合ローカルポートは、「リモート・ポートフォワーディング」(遠隔転送)コースを転送する意味するので、リモート・ポートをバインドするために転送されます。

次に例を見ては、上記のhost1とhost2の間の通信ではありません、あなたは前方HOST3使用する必要があります。しかしながら、特殊な状況が発生し、HOST3は、ネットワーク内のマシンであり、ネットワークの外部ネットワーク内にはネットワークの外HOST1を接続することができ、その逆はないが、HOST3 HOST1 ROMなどを用いることができます。このとき、「ローカルポートフォワーディング」どのように行うために、使用することはできませんか?

HOST3もHOST1、その後、SSHのホスト1との接続を確立して、HOST3からその上にhost1のこの接続を使用することができますので、解決策は、あります。

私たちは、HOST3で次のコマンドを実行します。

  $ sshをする-R 2121:host2の:21 HOST1

Rパラメータも三つの値、すなわち、受け入れ「:宛先ホスト:リモートホストポート。ターゲットホストポートを」このコマンド手段は、その後、ホスト2のポート21に転送HOST3経由ですべてのデータを、独自のhost1のモニタポート2121を作ることです。HOST3には、host1がリモートホストであるので、このような状況が呼び出される「結合リモートポート。」

結合後、我々はHOST2のHOST1に接続できます。

  $のftp localhostを:2121

ここでは、「リモートポートフォワーディング」の前提条件、host1とhost3という2つのホストがSSHDとsshクライアントを持っていることに留意しなければなりません。

XI。SSHのその他のパラメータ

SSHや他のいくつかのパラメータでなく、立派な導入。

Nパラメーターは、唯一のリモートシェルを開くことなく、リモート・ホストに接続示し、Tパラメータは、接続がTTYを割り当てられていないことを示します。2つのパラメータは遠隔操作が行われていないデータのみを転送するために使用されるSSH接続の代表と一緒に置くことができます。

  $のssh -NTの-D 8080ホスト

Fパラメータは、SSH接続を背景に、成功している表します。このように、あなたは、SSH接続を中断することなく、ローカルシェルに他の操作を行うことができます。

  $ sshの-f -D 8080ホスト

バックグラウンド接続をオフにするには、唯一のプロセスを殺すためにkillコマンドを使用します。

XII参照

  * SSH、セキュアシェル:Definitive Guideの:  2.4。暗号鍵による認証、オライリー

  * SSH、セキュアシェル:Definitive Guideの:  9.2。ポートフォワーディング、オライリー

  *シェバング:  リモートUNIXワークのためのヒント(SSH、画面、およびVNC)

  * brihatch:  SSHホスト鍵の保護

  * brihatch:  SSHユーザーのアイデンティティ

  * IBM developerWorksの:  戦闘SSHポートフォワーディング

  Jianing YANG *:SSHトンネルの技術概要

  *ウィキブックス:  インターネット技術/ SSH

  * Buddhika Chamith:  SSHトンネリングを説明しました

おすすめ

転載: www.cnblogs.com/jinanxiaolaohu/p/11250010.html