Dukungan SSH

Halaman ini menjelaskan cara menggunakan CLI gcloud untuk terhubung ke workstation Anda dari komputer lokal menggunakan SSH (atau protokol TCP lainnya).

Cloud Workstations menggunakan tunnel untuk meneruskan traffic TCP antara port di mesin lokal dan port di workstation Anda tanpa mengekspos workstation Anda ke internet secara terbuka. Koneksi diautentikasi menggunakan kredensial dari CLI gcloud dan diberi otorisasi sesuai dengan kebijakan IAM workstation target.

Setelah tunnel TCP dibuat antara port lokal dan workstation, Anda dapat menggunakannya untuk meneruskan traffic dari klien SSH, curl, atau aplikasi lain yang menggunakan TCP.

Untuk memudahkan, Cloud Workstations menyediakan perintah gcloud workstations ssh, yang membentuk tunnel TCP dan menjalankan klien SSH dengan satu perintah CLI gcloud.

Untuk semua kasus penggunaan lainnya, gunakan perintah gcloud workstations start-tcp-tunnel untuk membuat tunnel TCP dan menjalankan aplikasi yang akan menggunakan tunnel (misalnya, curl) di terminal terpisah.

Sebelum memulai

  1. Jika Anda belum memiliki workstation untuk dihubungkan, siapkan workstation.

  2. Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:

    gcloud init

  3. Pastikan Anda memiliki peran IAM Cloud Workstations User di workstation yang akan dihubungkan.

    Buka IAM

Menghubungkan ke workstation menggunakan SSH

Untuk membuat koneksi SSH yang aman ke workstation Anda, gunakan perintah gcloud workstations ssh, yang memulai tunnel TCP dan menjalankan klien SSH.

Untuk menyalin perintah ke buffer salin-tempel, klik Salin contoh kode, lalu tempel perintah ke jendela terminal lokal:

gcloud workstations ssh \
    --project=PROJECT_ID \
    --region=REGION \
    --cluster=CLUSTER_NAME \
    --config=CONFIG_NAME  \
    --port=WORKSTATION_PORT  \
    --local-host-port=localhost:LOCAL_PORT  \
    WORKSTATION_NAME

Ganti nilai berikut:

  • PROJECT_ID: ID project Google Cloud untuk project yang berisi workstation. Jika dihilangkan, project saat ini akan digunakan.

  • REGION: region tempat cluster workstation berada—misalnya, us-central1.

  • CLUSTER_NAME: nama cluster workstation yang berisi workstation.

  • CONFIG_NAME: nama konfigurasi workstation yang berisi workstation ini.

  • WORKSTATION_PORT (Opsional): port di workstation yang menjadi tujuan pengiriman traffic. Jika dihilangkan, traffic akan dikirim ke port 22. Semua image Cloud Workstation yang telah dikonfigurasi sebelumnya menyertakan server SSH yang berjalan di port workstation 22.

  • LOCAL_PORT (Opsional): port localhost tempat traffic akan dikirim. Nomor port yang valid adalah 1024 hingga 65535. Jika Anda menghapus flag --local-host-port atau menentukan port 0, port yang tidak digunakan akan dipilih secara otomatis.

  • WORKSTATION_NAME: nama workstation.

Opsional: Untuk meneruskan flag dan posisi ke implementasi ssh yang mendasarinya, tambahkan keduanya ke perintah setelah tanda hubung ganda (--).

Menggunakan tunnel TCP untuk meneruskan traffic TCP arbitrer ke workstation Anda

Agar terhubung ke workstation menggunakan aplikasi TCP selain ssh, gunakan perintah gcloud workstations start-tcp-tunnel:

  1. Jalankan perintah CLI gcloud berikut untuk membuat tunnel TCP yang diautentikasi.

    Untuk menyalin perintah ke buffer salin-tempel, klik Salin contoh kode, lalu tempel perintah ke jendela terminal lokal:

    gcloud workstations start-tcp-tunnel \
        --project=PROJECT_ID \
        --region=REGION \
        --cluster=CLUSTER_NAME \
        --config=CONFIG_NAME \
        --local-host-port=localhost:LOCAL_PORT \
        WORKSTATION_NAME \
        WORKSTATION_PORT
    

    Ganti nilai berikut:

    • PROJECT_ID: ID project Google Cloud untuk project yang berisi workstation. Jika dihilangkan, project saat ini akan digunakan.

    • REGION: region tempat cluster workstation berada—misalnya, us-central1.

    • CLUSTER_NAME: nama cluster workstation yang berisi workstation.

    • CONFIG_NAME: nama konfigurasi workstation yang berisi workstation ini.

    • LOCAL_PORT (Opsional): port localhost tempat traffic akan dikirim. Nomor port yang valid adalah 1024 hingga 65535. Jika Anda menghapus flag --local-host-port atau menentukan port 0, port yang tidak digunakan akan dipilih secara otomatis.

    • WORKSTATION_NAME: nama workstation.

    • WORKSTATION_PORT: port workstation tujuan pengiriman traffic. Image Cloud Workstations yang telah dikonfigurasi mencakup server SSH yang berjalan di port workstation 22.

  2. Perintah CLI gcloud melakukan uji konektivitas dengan workstation, membuka tunnel, lalu menampilkan nomor port:

    Listening on port [LOCAL_PORT].
    

    Semua traffic yang dikirim ke localhost:LOCAL_PORT diteruskan ke workstation. Port ini hanya dapat diakses oleh aplikasi yang berjalan di komputer lokal Anda.

  3. Biarkan CLI gcloud berjalan dan buka terminal lain untuk menjalankan aplikasi yang terhubung ke workstation Anda.

    Misalnya, jika menjalankan server di workstation yang menayangkan port WORKSTATION_PORT, dan pada langkah sebelumnya Anda membuat tunnel TCP yang meneruskan traffic antara port lokal LOCAL_PORT dan port workstation WORKSTATION_PORT, Anda dapat menjalankan curl di mesin lokal untuk terhubung ke server di workstation:

    curl localhost:LOCAL_PORT
    Hello, world!
    
  4. Setelah selesai, kembali ke terminal tempat Anda memulai terowongan TCP dan interupsi gcloud CLI dengan menekan Control+C.

Menggunakan server SSH pada port yang berbeda

Image container kustom juga dapat menggunakan server SSH di port apa pun. Untuk mendukung koneksi dari tunnel CLI gcloud, Anda harus mengonfigurasi server SSH kustom untuk mengizinkan autentikasi sandi dan menetapkan sandi kosong ke pengguna target. Cloud Workstations menggunakan Cloud IAM untuk membantu memastikan bahwa hanya traffic yang diizinkan yang dikirim ke server SSH.

Langkah selanjutnya