1

SSH を使用するのは初めてですが、これまでのところ、SSH 経由で Hostgator サーバーに接続できました。私がやろうとしているのは、ファイルを Hostgator アカウントから Godaddy ホスティング アカウントに移動することです。ファイル サイズは約 1Gb なので、FTP は問題外です。

現在、Hostgator と Godaddy の間に直接 SSH トンネルをセットアップして、ファイルを直接かつはるかに高速に転送できるようにしようとしていますが、この部分で立ち往生しています。

2 つの SSH セッションを開く必要がありますか? 経験豊富なオタクが私を正しい方向に導くのを手伝ってくれませんか? 私は数時間調査を行いましたが、まだこの部分で迷っているように感じます.

4

2 に答える 2

3

Godaddy サーバーへの SSH 接続を使用します。次にcd、ファイルをコピーするディレクトリにそれを実行したら。次に、次のコマンドを使用して Hostgator アカウントへの sftp セッションを開きます。

sftp -P [port-number] <address-of-hostgator-server>

ポート番号は、サーバーに通常 SSH で接続するときに使用するポートです。通常、接続時にポートを指定しない場合、デフォルトは 22 です。

そこから、コマンドを使用して目的cdのファイル/ディレクトリを検索し、次にgetそれらをダウンロードするファイルまたはディレクトリのコマンドを使用して、ファイルを godaddy サーバーにダウンロードできます。

注: Godaddy サーバーにポート 22 (または、hostgator への接続に使用する任意のポート) の送信をブロックするファイアウォール ルールがある場合、これは機能しません。この場合、運が悪く、ファイルをローカルにダウンロードしてから、それらを再度アップロードします。

いくつかの理論

あるホストから別のホストにファイルをコピーするには、SSH 自体からファイルをコピーすることはできません。sftpまたはのようなものを使用する必要がありますwget。この場合、sftp が最も簡単なオプションです。これは、使用している Linux ホストに既にインストールされており、ターゲット サーバーで SSH が有効になっている場合に使用できるためです。

作業中のコンピューターから GoDaddy サーバーに SSH 接続すると、その SSH シェル内で実行するすべてのコマンドが、その GoDaddy サーバー上で実行されるようになります。このシェル内でコマンドを使用してsftp、GoDaddy サーバーと Hostgator サーバー間の接続を作成します。この接続は、GoDaddy に対して開いている SSH シェルを介して制御できます。本質的に、sftp を使用して Hostgator サーバーと通信している GoDaddy サーバーを制御するために SSH を使用しています。

実際にやっている

コメントからあなたの例に答えるには、SSH で GoDaddy サーバーに接続cdしてから、新しいファイルを移動したい場所に移動します。次に、提案したコマンドを使用してホストゲーターサーバーへの接続を開きます。

sftp -P 2222 username@my_server_ip

これで、SSH プロンプトがプロンプトに変わるはずsftp>です。これは、ここで実行するすべてのコマンドが、GoDaddy サーバーと Hostgator サーバー間の sftp 接続用のコマンドであることを意味します。cdHostgator サーバー上の「test」ディレクトリがある場所に移動し、get -r testそのディレクトリをダウンロードして GoDaddy サーバーにコピーします。次にexit、sftp プロンプトに入力すると、GoDaddy サーバーの SSH プロンプトに戻ります。ここでファイルが見つかります。

于 2013-08-17T23:27:05.263 に答える
0

ssh を使用していずれかのマシンに接続します。例えば:

$ ssh <username>@<godaddy-server>

次に、そのマシンから scp を使用してマシン間でファイルをコピーします。たとえば、godaddy から hostgator のホーム ディレクトリにファイルを転送するには、次のようにします。

$ scp <file-on-godaddy> <username>@<hostgator-server>:~

-r オプションを scp と共に使用して、ディレクトリを転送できます。前の例では、コロンは、ファイルのコピー先のパスからリモート マシンのアドレスを区切ります。例では、ホーム ディレクトリへの転送に ~ が使用されました。

于 2013-08-18T00:07:12.763 に答える