概要
GCEでサーバーを設置して運営や開発を行っていく際に、ローカスマシンとリモートマシンとでファイルの転送をしたいことがあります。
例えば、Webアプリケーションの開発だと、ローカルマシンで開発・修正したファイルをVPSに転送して、動作を確認します。VPSのログファイルをローカルマシンに転送して検証したりします。
GCEでは複数のファイル転送方法があります。ただ、このファイル転送は今後何回も行うので、できるだけ手間のかからない方法がいいです。例えば、GCE標準のブラウザーSSHだと、ファイルアップロード先は毎回ホームディレクトリー固定です。アップロード先を変更できないのです。
そこで、今回はFTPソフトのFileZillaでGCEにファイル転送する方法を調査したので紹介します。FileZillaを選んだのはWindows/Mac/Linuxのどれにも対応しているからです。
上記情報源を参考に行いました。
SSH鍵生成
最初にSSH鍵がなければ、以下のコマンドで生成します。
ssh-keygen
デフォルトでRSAの2048ビット長の鍵ペアー (id_rsa/id_rsa.pub) が~/.sshに生成されます。既に何かで生成済みであれば、使いまわせばいいので生成する必要はありません。
鍵生成後にはid_rsaの秘密鍵の権限を以下のコマンドで自分のみ読み書き可能に変更します。
chmod 600 ~/.ssh/id_rsa
[Compute Engine]-[設定]-[メタデータ]-[SH 認証鍵]-[+ 項目を追加] を選び、[SSH 認証鍵1] 欄にid_rsa.pubの中身を貼り付け [保存] を選びます。
これでSSH鍵がGCEに登録されました。
id_rsa.pubの生成時に末尾にユーザー名が記載されており、このユーザーでSSHログインできます。以下のコマンドとなります。
ssh -i ~/.ssh/id_rsa [domain or ip]
ユーザーが不在の場合、初回ログイン時に自動生成されるようです。ユーザーが新しく作成された場合は「Apache HTTP Serverの/var/wwwの権限設定 | GNU social JP」の設定も行っておきます。
FileZilla
公式サイトからFileZillaをインストールします。
FileZillaを起動後、[File]-[Site Manager…] を選びます。
[Site manager] 画面が表示されます。[New site] を選んで新しいサイトを追加すると右側が編集可能になります。
[General] タブに以下の項目を入力して [Connect] を選びます。
- Protocol=SFTP
- Host=サーバードメインかIPアドレス
- Port=22
- Logon Type=Key file
- User=接続先ユーザー名 (鍵のユーザー名)
- Key file=~/.ssh/id_rsaのフルパス
初回接続時には、パスワードの記憶や、未承認鍵を信頼するかのダイアログが表示されるので、どちらも [Yes] を選びます。
これで接続完了です。次回以降は[File]-[Site manager] (か左上のアイコン) を選ぶと登録したサイトにクリックで接続できます。
ブックマーク
次回以降のファイル転送作業を簡単に行えるようにブックマークを登録します。
メニュー-[Bookmarks]-[Add bookmark] を選びます。
[New bookmark] 画面が表示され、ローカルとリモートのディレクトリーをブックマークに登録できます。入力して [OK] を選びます。
[Bookmarks] に設定した [Name] で登録されます。次回以降は、これを選ぶことで登録したディレクトリーの状態にできます。
ほぼこの機能のためにわざわざFileZillaでGCEへのファイル転送を検討しました。
結論
GCEでのファイル転送方法の紹介でした。
今回はFileZillaで説明しましたが、FTPソフトは別に何でもOKです。
今後何回も行う作業のため、ブックマークなどによる手間の短縮は非常に重要です。1回やればそれっきりなので、是非行いましょう。

詳細プロフィール。SNS: Twitter/[email protected]/[email protected]。2022-07-17からgnusocial.jpとweb.gnusocial.jpのサイトを運営しています。WordPressで分散SNSに参加しています。このアカウントの投稿に返信すると、サイトのコメント欄にも反映されます。自称ASD。
Comments