web-dev-qa-db-ja.com

Google ComputeEngineへのSFTP

Compute EngineでDebianをいじっていて、サーバーにSFTPで接続する方法を考えていました。私はそれに関するドキュメントを見つけることができず、誰かが私を正しい方向に向けることができることを望んでいました。

ありがとう!

これが不可能な場合、SCPを介して静的サイトを管理する最良の方法はありますか?

10
user1156994

インスタンスがフェッチされなかった理由と権限が不十分なものがわからなかったため、gcloud compute copy-filesをあきらめ、gcloudインスタンスにsftpする方法を調べ始めました。

これが私がこれをfilezillaで動作させる方法です

  1. 最初にgcloudsdkをダウンロードして実行しました: https://cloud.google.com/compute/docs/gcloud-compute/#install

  2. ターミナルからインスタンスに最初に接続しようとすると、sshキーを作成するように求められました。私はMacを使用しているため、キーは.ssh /フォルダーの下の/ Users //フォルダーにセットアップされました。

  3. .ssh /フォルダーからgoogle_compute_engine秘密鍵を取得し、それをfilezilla>設定> sftpにインポートしました

  4. ホストは私のgcloudvmインスタンスのIPアドレスであり、ユーザーはssh経由でインスタンスに接続した後のユーザー名に関係ありません。プロンプト:[@] $を確認してください。キーは、認証方法である必要があります。リモートディレクトリは/ home //と同じで、サーバータイプはunixです(GoogleCloudにcentosvmがありました)

ファイルがコンピューターからインスタンスのディレクトリにアップロードされると、それらのファイルをgcloudvmインスタンス内に配置する必要がある場所にファイルを移動できました。

私は再び幸せなキャンピングカーでした。

ソース: http://winscp.net/eng/docs/guide_google_compute_engine

7

大まかに言うと、次の手順があります。

  1. Gcloud SDKをインストールして実行します($ gcloud init
  2. SSHキーを生成します($ gcloud compute ssh
  3. FTPクライアントをセットアップします(キーファイルをインストールして追加します)
  4. SFTPクライアントを使用してVM

この質問がこの前にここで尋ねられたと仮定すると ドキュメント Googleから入手可能になりました。

また、私はこれを記録しました、それは役に立つかもしれません:

https://www.youtube.com/watch?v=9ssfE6ODpak

また、参考までに..転送する必要のあるファイルのサイズがかなり小さい場合は、SFTPクライアントは必要ないかもしれません。ここに表示されているように、コンソールから直接転送します https://youtu.be/HEdXEEYOynE

6
Naresh MG

グーグルコンピュータエンジンはすでにデフォルトでSFTPサービスを持っているようです。以下は、サービスに接続するためのSFTPクライアントとしてWinSCPを使用する優れたステップバイステップの説明です。それは私にとって最初の試みで完璧に機能します。

http://winscp.net/eng/docs/guide_google_compute_engine

他のFTPクライアントソフトウェアを使用しても同じ原則が適用されます。希望は誰かの時間と労力を節約するでしょう。

3
Luke Tsang

gcloud compute scp を使用してファイルをアップロードおよびダウンロードできます。たとえば、次の方法でアップロードします。

gcloud compute scp \
     ~/local-dir/file-1 \
     my-instance:~/remote-destination \
     --zone us-central1-a

およびダウンロード:

gcloud compute scp \
     my-instance:~/file-1 \
     my-instance:~/file-2 \
     ~/local-dir \
     --zone us-central1-a

gcloudツールは Google Cloud SDK に含まれており、標準のGoogle Compute Engine VMイメージにプリインストールされています。

3
Misha Brukman

インスタンスのIPアドレスを指定すると、ssh、scp、sftpがすべて機能するはずです。静的IPアドレスがある場合は、DNSを使用できます。または、gcutil listinstancesまたはコンソールからIPアドレスを使用できます。

インスタンスのIPアドレスがわかったら、ssh秘密鍵も必要になります。これは通常~/.ssh/google_compute_engineにあります。次に、次のようにsftpを介して接続できます。

sftp -o IdentityFile ~/.ssh/google_compute_engine user@Host
2
E. Anderson

MacまたはLinuxOSでは、「gcloud compute config-ssh:コマンド」を使用します。これにより、.ssh dirにconfファイルが設定され、設定ファイルで設定されているエイリアスを使用してssh、scp、sftpを使用できるようになります。

config-sshのgclouddoc https://cloud.google.com/sdk/gcloud/reference/compute/config-ssh

2
UsmanM

私が質問を理解しているなら、DebianのインスタンスにSFTPが必要です。

  1. 試してください このチュートリアル

  2. ファイアウォールのポート22を開きます。

    gcutil addfirewall port-22 --description="Open up port 22." --allowed="tcp:22"

  3. SFTP接続を確立するFilezillaクライアントでテストします。

楽しんで :)

0
Carlos Rojas