Remote SSH: Tip dan Trik

Dalam posting blog Remote SSH sebelumnya, kami membahas cara mengatur mesin virtual Linux dan terhubung ke VM menggunakan ekstensi Remote - SSH dalam Visual Studio Code. Dalam posting blog ini, kami akan membahas beberapa tips dan trik yang dapat Anda gunakan untuk mendapatkan hasil maksimal dari pengaturan jarak jauh Anda.



Terhubung menggunakan Remote SSH


Visual Studio Code Remote - SSH extension memungkinkan Anda untuk terhubung ke mesin jarak jauh atau VM menggunakan SSH, semuanya dari dalam VS Code. Jika ekstensi belum terpasang, Anda dapat mencari "ssh jarak jauh" di tampilan Ekstensi (β‡§βŒ˜X).



Setelah memasang ekstensi, Anda akan melihat indikator di sudut kiri bawah bilah Status. Indikator ini memberi tahu Anda dalam konteks mana Kode VS berjalan (lokal atau jauh). Klik pada indikator untuk memunculkan daftar perintah ekstensi Remote.



File konfigurasi SSH


Pada posting blog Remote SSH sebelumnya, kami hanya terhubung ke satu mesin dan melakukannya dengan memasukkan "user @ host" ketika diminta. Jika Anda masuk ke beberapa server jarak jauh atau mesin virtual lokal secara teratur, ada cara yang lebih baik untuk terhubung tanpa harus mengingat semua nama pengguna, alamat, dan opsi konfigurasi tambahan.

OpenSSH mendukung penggunaan file konfigurasi untuk menyimpan semua koneksi SSH Anda yang berbeda. Untuk menggunakan file konfigurasi SSH, klik pada indikator jarak jauh untuk memunculkan perintah jarak jauh, pilih Buka File Konfigurasi, dan pilih file yang mengikuti jalur "Pengguna / {nama pengguna} /. Ssh / config".



Berikut adalah contoh file konfigurasi SSH:

# Read more about SSH config files: https://linux.die.net/man/5/ssh_config Host python-linux-vm HostName <vm address> User sana IdentityFile ~/.ssh/id_python_vm Host node-vm HostName <vm address> User sana Port 5522 IdentityFile ~/.ssh/id_node_vm 

Ada banyak opsi konfigurasi yang dapat Anda tentukan dalam format file konfigurasi SSH. Anda akan mendapatkan penyelesaian dan pewarnaan dalam file ini dan Anda dapat menekan (paceSpace) untuk IntelliSense untuk mempelajari lebih lanjut tentang opsi konfigurasi.

Opsi yang digunakan di atas adalah:
Tuan rumahAlias ​​yang mudah diingat untuk mesin host Anda.
Nama hostNama host server (Anda dapat menggunakan alamat IP server).
PenggunaPengguna yang Anda tentukan untuk masuk ke mesin melalui SSH.
PelabuhanPort yang digunakan untuk terhubung melalui SSH. Port default adalah 22, tetapi jika Anda telah menentukan port unik, Anda dapat mengkonfigurasinya di sini.
IdentityFileLokasi file tempat Anda menyimpan kunci pribadi Anda.
Anda dapat menambahkan informasi untuk semua host yang Anda miliki. Setelah Anda menyimpan file konfigurasi, Anda akan dapat melihat host-host tersebut di Remote Explorer, serta folder apa pun yang telah Anda buka pada host itu. Anda dapat memilih ikon di sebelah setiap host atau folder dan itu akan meluncurkan jendela Kode VS baru (contoh) dan menghubungkan Anda ke host itu. Pada tangkapan layar di bawah, saya terhubung ke mesin jarak jauh saya "python-linux-vm" dan Remote Explorer menunjukkan kepada saya folder-folder yang telah saya sambungkan di masa lalu, serta semua port yang diteruskan dari mesin jarak jauh.



Perintah proxy


Kadang-kadang Anda mungkin perlu terhubung dari desktop atau laptop Anda ke mesin jarak jauh melalui Intranet perusahaan Anda atau di belakang firewall. Dalam hal ini, Anda mungkin menggunakan server perantara atau kotak lompat . Pengaturan semacam ini berguna jika Anda bekerja di dalam sistem aman yang dikonfigurasi untuk hanya menerima koneksi SSH dari kumpulan host tetap.

Untuk menggunakan pengaturan kotak lompat dengan ekstensi Remote - SSH, Anda dapat menggunakan opsi konfigurasi ProxyCommand . Konfigurasi ini akan membuka koneksi SSH latar belakang ke kotak lompatan, dan kemudian terhubung melalui alamat IP pribadi ke target.

Anda dapat mengatur opsi konfigurasi ProxyCommand di file konfigurasi SSH seperti ini:

 # Jump box with public IP address Host jump-box HostName 52.179.157.97 User sana IdentityFile ~/.ssh/jumpbox # Target machine with private IP address Host target-box HostName <IP address of target> User sana IdentityFile ~/.ssh/target ProxyCommand ssh -q -W %h:%p jump-box 

Kontrolmaster


Jika Anda tersambung ke host SSH jarak jauh menggunakan metode otentikasi lain selain otentikasi berbasis kunci, seperti dua faktor, berbasis kata sandi, atau kunci SSH dengan frasa sandi, Anda mungkin harus memasukkan informasi yang diperlukan beberapa kali.

Alih-alih membuka beberapa koneksi SSH, Anda dapat menggunakan opsi ControlMaster (hanya pada klien macOS / Linux) untuk menggunakan kembali koneksi yang ada dan mengurangi berapa kali Anda harus memasukkan frasa sandi Anda.

Untuk menggunakan fitur ini, tambahkan berikut ini ke file konfigurasi SSH Anda:

 Host * ControlMaster auto ControlPath ~/.ssh/sockets/%r@%h-%p ControlPersist 600 

Mesin jarak jauh offline


Jika Anda dibatasi oleh firewall atau perusahaan Anda mengunci VM Anda dan mereka tidak dapat terhubung ke Internet, ekstensi Remote - SSH tidak akan dapat terhubung ke VM Anda karena VS Code perlu mengunduh komponen yang disebut VS Code Server ke mesin jarak jauh.

Namun, Anda sekarang dapat mengatasi masalah ini dengan pengaturan pengguna baru di ekstensi Remote - SSH. Jika Anda mengaktifkan pengaturan remote.SSH.allowLocalServerDownload , ekstensi akan menginstal VS Code Server pada klien terlebih dahulu dan kemudian menyalinnya ke server melalui SCP.

Catatan: Ini saat ini merupakan fitur eksperimental tetapi akan diaktifkan secara default di rilis berikutnya.

Remote - ekstensi SSH Nightly


Jika Anda tertarik untuk menguji pembaruan dan fitur eksperimental baru segera setelah tersedia, instal ekstensi Remote - SSH Nightly (hapus instalan ekstensi stabil Remote-SSH terlebih dahulu). Ini adalah versi pengembangan malam di mana kami bereksperimen dengan fitur dan pengaturan baru sebelum merilisnya ke versi stabil.

Source: https://habr.com/ru/post/id472184/


All Articles