Anda dapat menggunakan tool ProxyClient yang disediakan oleh Data Science Workshop (DSW) untuk menghubungkan instans DSW secara jarak jauh dari tool lokal seperti VSCode atau Terminal guna pengembangan pembelajaran mesin. Tool ini memungkinkan koneksi ke instans DSW melalui protokol Secure Shell (SSH) tanpa perlu mengonfigurasi virtual private cloud (VPC) atau NAT Gateway.
Prosedur
Langkah 1: Unduh dan instal DSW ProxyClient
Unduh alat DSW ProxyClient dan simpan di direktori home pengguna Anda.
Direktori yang diperlukan bergantung pada sistem operasi Anda:
Windows: Simpan di folder profil pengguna, misalnya C:\Users\<username>.
Linux: Simpan di /root untuk pengguna root atau /home/<username> untuk pengguna biasa.
macOS: Simpan di /Users/<username>.
Ganti <username> dengan username Anda.
Tautan unduh untuk setiap versi tercantum di bawah ini:
Dari command line, ubah file klien yang diunduh menjadi executable. Jika Anda mengunduh versi Windows (x86-64), langkah ini dapat dilewati.
chmod 755 <proxyclient>Ganti <proxyclient> dengan nama file klien yang diunduh.
Buat file konfigurasi.
Masukkan perintah konfigurasi.
# macOS, Linux. ./proxyclient config # Windows. proxyclient.exe configPentingPada macOS, saat pertama kali menjalankan perintah
./proxyclient, Anda mungkin melihat pesan error:"proxyclient" cannot be opened because the developer cannot be verified. Untuk mengatasinya, buka System Preferences > Security & Privacy dan izinkan ProxyClient untuk dijalankan.Ikuti petunjuk untuk menetapkan jalur file konfigurasi.
Masukkan nama untuk file konfigurasi. Anda bisa menyertakan jalur.
CatatanTekan Enter untuk menggunakan path dan nama file default:
~/.proxyclientconfig.Anda juga dapat menentukan path dan nama file kustom. Misalnya, pada Windows (x86-64):
C:/Users/<username>/xxx/.proxyclientconfig.Jika Anda menetapkan path kustom, Anda harus menentukannya menggunakan flag
-catau--config-filesaat menjalankan perintah./proxyclient adddi Langkah 3.
Ikuti prompt untuk menetapkan parameter RegionId, AccessKey ID, AccessKey secret, dan token Security Token Service.
Tabel berikut menjelaskan parameter-parameter tersebut.
Parameter
Deskripsi
RegionId
ID wilayah, misalnya cn-shanghai untuk China (Shanghai). Untuk daftar lengkap ID wilayah, lihat Wilayah dan zona.
PentingID wilayah yang dikonfigurasikan di sini harus sesuai dengan wilayah instans DSW Anda.
AccessKey ID
Masukkan AccessKey untuk akun Anda. Untuk mempelajari cara mendapatkan AccessKey ID dan AccessKey secret untuk Akun Alibaba Cloud Anda, lihat Buat Pasangan Kunci Akses.
AccessKey secret
STSToken
Biarkan kosong jika Anda menggunakan akun Alibaba Cloud atau Pengguna RAM.
Jika Anda login sebagai RAM role, Anda harus menyediakan token Security Token Service (STS) temporary. Untuk mempelajari cara menghasilkan token STS, lihat Dapatkan token STS.
PentingPastikan token STS belum kedaluwarsa.
Langkah 2: Konfigurasikan metode autentikasi SSH
Anda dapat terhubung ke instans DSW menggunakan pasangan kunci SSH atau nama pengguna dan kata sandi.
Untuk instans DSW dalam kelompok sumber daya dedicated, setelah mengonfigurasi autentikasi, klik Actions di kolom Save Image untuk instans tersebut. Tindakan ini menyimpan kunci publik atau password ke image instans agar tetap efektif setelah restart.
Metode 1: Konfigurasikan login tanpa password (Direkomendasikan)
Buat pasangan kunci.
Di command line lokal Anda, jalankan perintah berikut untuk membuat pasangan kunci untuk login tanpa password. Secara default, perintah ini membuat pasangan kunci RSA.
ssh-keygenTentukan file untuk menyimpan pasangan kunci.
(Direkomendasikan) Tekan Enter tanpa menentukan nama file. File pasangan kunci default adalah
~/.ssh/id_rsa(kunci privat) dan~/.ssh/id_rsa.pub(kunci publik).(Opsional) Tentukan nama file kustom untuk pasangan kunci, misalnya example_id_rsa.
CatatanJika Anda menentukan nama file kustom, Anda harus mendeklarasikan path file kunci privat menggunakan direktif IdentityFile di file
~/.ssh/config, yang dihasilkan di Langkah 3: Tambahkan proxy instans DSW.
Ikuti prompt untuk menetapkan passphrase dan simpan secara lokal. Anda akan menggunakan passphrase ini untuk menghubungkan ke instans DSW.
Pada instans DSW yang ingin Anda hubungkan, buka Terminal dan jalankan perintah berikut. Tool setup_ssh.sh akan secara otomatis mengunduh dan menginstal server SSH.
wget https://dsw-resource.oss-cn-beijing.aliyuncs.com/tools/setup_ssh.sh bash setup_ssh.shIkuti petunjuk untuk mengonfigurasi kunci publik SSH dan mulai server SSH.
Metode 2: Konfigurasikan login dengan username dan password
Pada instans DSW yang ingin Anda hubungkan, buka Terminal.
Jalankan perintah berikut untuk menetapkan kata sandi untuk pengguna root.
passwd rootUbah file konfigurasi SSH untuk mengaktifkan login pengguna root dengan autentikasi kunci publik.
Buka file konfigurasi SSH.
vi /etc/ssh/sshd_configUbah baris
#PermitRootLogin prohibit-passwordmenjadiPermitRootLogin yes, lalu simpan file tersebut.
Mulai ulang layanan server SSH untuk menerapkan perubahan.
service ssh stop service ssh start
Langkah 3: Tambahkan proxy instans DSW
Di halaman daftar instans, temukan instans yang ingin Anda hubungkan dan salin ID instansnya seperti yang ditunjukkan pada gambar berikut.

Di baris perintah lokal Anda, jalankan perintah berikut untuk menambahkan instans DSW sebagai host target SSH.
Ganti <instance ID> dengan ID instans yang Anda salin pada langkah sebelumnya.
# macOS, Linux: ./proxyclient add -i=<instance ID> # Windows: proxyclient.exe add -i=<instance ID>Lihat isi file
.ssh/configuntuk memastikan pengaturan proxy telah diterapkan.# macOS, Linux. cat .ssh/config # Windows. Di command line lokal Anda, masuk ke direktori home pengguna Anda dan gunakan perintah berikut untuk melihat isi file config. Anda juga dapat mengklik ganda file config untuk membukanya. explorer .ssh\configOpsi: Jika Anda menggunakan nama file kustom untuk pasangan kunci Anda, seperti example_id_rsa, Anda harus mengubah file
~/.ssh/config. Gunakan direktifIdentityFileuntuk menentukan path ke file kunci privat Anda, seperti pada contoh berikut.Host dsw-b7a2765b267e**** HostName dsw-b7a2765b267e**** User root ProxyCommand ~/proxyclient connect --region-id=cn-hangzhou --instance-id=dsw-b7a2765b267e**** --config-file=*** ServerAliveInterval 30 IdentityFile ~/.ssh/example_id_rsa
Langkah 4: Hubungkan secara jarak jauh ke instans DSW
Hubungkan menggunakan terminal
Buka tool terminal, seperti command line lokal Anda, dan jalankan perintah berikut untuk login ke instans jarak jauh.
Ganti <instance ID> dengan ID instans DSW Anda.
ssh <instance ID>Anda juga dapat menggunakan perintah scp untuk menyalin file atau direktori antara host lokal dan instans jarak jauh.
# Salin file lokal ke instans jarak jauh.
scp local_file_path root@<DSW instance ID>:<remote_file_path>
# Salin direktori lokal ke instans jarak jauh.
scp -r local_dir root@<DSW instance ID>:<remote_dir>
# Salin file dari instans jarak jauh ke mesin lokal Anda.
scp root@<DSW instance ID>:<remote_file_path> <local_file_path>
# Salin direktori dari instans jarak jauh ke mesin lokal Anda.
scp -r root@<DSW instance ID>:<remote_dir> <local_dir>Hubungkan menggunakan VSCode
Langkah-langkah dapat bervariasi berdasarkan versi VSCode. Untuk informasi lebih lanjut, lihat Visual Studio Code.
Buka VSCode di mesin lokal Anda dan instal ekstensi Remote Connection seperti yang ditunjukkan pada gambar berikut.

Di panel navigasi di sebelah kiri VSCode, klik
.
Tambahkan koneksi jarak jauh ke instans.
Klik ikon
di sebelah Remote Connection untuk menambahkan koneksi baru. Di kotak teks yang muncul, masukkan ID instans DSW dan tekan Enter.
Klik untuk memilih file config yang ingin Anda perbarui.

Di kotak dialog Host added yang muncul di pojok kanan bawah VSCode, klik Connect.

Klik Linux untuk memilih sistem operasi instans DSW.

Di kotak teks, masukkan passphrase dari Langkah 3 dan tekan Enter.

Saat VSCode membuka halaman selamat datang, koneksi berhasil. Sekarang Anda bisa membuka folder jarak jauh di VSCode untuk memulai pengembangan.

Untuk koneksi berikutnya ke instans DSW ini, Anda bisa mengklik kanan instans target, pilih metode koneksi, dan ikuti petunjuk.

FAQ
T: Apa perbedaan antara metode koneksi SSH langsung dan proxy ProxyClient?
Metode A: Koneksi SSH langsung (Disarankan) | Metode B: Proxy ProxyClient | |
Fitur | Metode ini memerlukan komponen jaringan seperti VPC dan NAT Gateway. Koneksi lebih cepat dan stabil. | Metode ini tidak memerlukan komponen jaringan lain. Namun, kecepatan dan stabilitas koneksi mungkin kurang baik. |
Instans yang didukung |
| Semua jenis instans. |
Metode autentikasi | Metode ini menggunakan kunci publik SSH atau kunci privat untuk autentikasi. |
|
Jalur akses |
| Akses jaringan publik. |
Metode konfigurasi | ||
Cara kerja | PAI secara otomatis membuat aturan DNAT di Gateway NAT untuk meneruskan permintaan SSH publik ke instans DSW Anda. | Semua lalu lintas diteruskan melalui server proxy PAI. |
Pemberitahuan penagihan | Jika akses jaringan publik diperlukan, NAT Gateway dan EIP dikenai biaya selama masih ada, bahkan jika instans DSW dihentikan. Jika tidak lagi diperlukan, segera hapus. | Konfigurasi ini tidak menimbulkan biaya tambahan. |
T: Mengapa koneksi gagal untuk RAM user?
Jika Anda menggunakan AccessKey RAM user untuk terhubung melalui ProxyClient, akun root harus memberikan izin paidsw:GetToken kepada RAM user tersebut. Jika tidak, autentikasi akan gagal. Untuk memberikan izin tersebut, lakukan langkah-langkah berikut:
T: Mengapa saya mendapatkan timeout koneksi atau error akses?
Periksa file konfigurasi yang dihasilkan oleh proxyclient.exe. Pastikan parameter RegionId persis sesuai dengan wilayah instans DSW Anda.
T: Apakah instans DSW mendukung pembuatan beberapa pengguna untuk login SSH terpisah?
Secara default, instans DSW hanya menyediakan pengguna root untuk login SSH. DSW tidak secara native mendukung pembuatan beberapa pengguna independen dan konfigurasi login SSH terpisah yang terisolasi untuk mereka. Anda dapat mencoba membuat pengguna baru secara manual di dalam instans, tetapi ini bukan metode yang didukung secara resmi.
T: Saat saya menghubungkan ke instans DSW dari IDE lokal seperti VSCode atau PyCharm, saya tidak dapat melihat file direktori kerja saya. Apa yang harus saya lakukan?
Saat Anda login dengan SSH, direktori default adalah direktori home pengguna root (/root). File proyek Anda biasanya berada di path disk data yang dipasang, seperti /mnt/workspace. Di IDE Anda, seperti VSCode, Anda harus membuka folder ini secara manual. Buka File > Open Folder dan masukkan path /mnt/workspace. File proyek Anda kemudian akan muncul di file explorer.
Topik terkait
Tool ProxyClient dapat menyebabkan masalah seperti sering reconnect dan kecepatan lambat. Untuk pengalaman yang lebih baik, kami merekomendasikan Anda menggunakan metode Koneksi jarak jauh: SSH Langsung.