Remote SSH: kiat dan peretasan

Dalam posting sebelumnya pada Remote SSH, kami melihat cara mengkonfigurasi mesin virtual Linux dan menghubungkan ke mesin virtual menggunakan ekstensi Remote - SSH dalam Visual Studio Code. Dalam posting ini kita akan berbicara tentang beberapa tips dan trik yang dapat Anda gunakan untuk memanfaatkan konfigurasi jarak jauh Anda.



Terhubung menggunakan Remote SSH


Remote Visual Studio Code Remote - SSH memungkinkan Anda untuk terhubung ke mesin jarak jauh atau mesin virtual menggunakan SSH, dan semuanya dari dalam VS Code. Jika ekstensi belum diinstal, Anda dapat mencari "remote ssh" di tab "Extensions" (β‡§βŒ˜X).



Setelah menginstal ekstensi, Anda akan melihat indikator di sudut kiri bawah bilah status. Indikator ini memberi tahu Anda dalam konteks apa Kode VS (lokal atau jauh) berfungsi. Klik pada indikator untuk menampilkan daftar perintah ekstensi jarak jauh.



File konfigurasi SSH


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

OpenSSH mendukung penggunaan file konfigurasi untuk menyimpan semua koneksi SSH Anda. Untuk menggunakan file konfigurasi SSH, klik pada indikator jarak jauh untuk menjalankan perintah jarak jauh, pilih "Buka File Konfigurasi", dan pilih file yang terletak di "Users / {yourusername} /. Ssh / config".



Berikut ini contoh file konfigurasi SSH:

#      SSH: 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 lain yang dapat Anda tentukan dalam format file konfigurasi SSH. Anda akan mendapatkan pengaya di file ini, dan Anda bisa mengklik (paceSpace) untuk IntelliSense untuk mempelajari lebih lanjut tentang opsi konfigurasi.

Opsi yang digunakan di atas:
Tuan rumahAlias ​​yang mudah diingat untuk host Anda.
Nama hostNama host server (Anda dapat menggunakan alamat IP server).
PenggunaPengguna yang Anda tentukan untuk masuk melalui SSH.
PelabuhanPort yang digunakan untuk terhubung melalui SSH. Port default adalah 22, tetapi jika Anda 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 menyimpan file konfigurasi, Anda dapat melihat node-node ini di Remote Explorer, serta folder apa pun yang Anda buka pada node ini. 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 ini, saya terhubung ke mesin jarak jauh "python-linux-vm" saya, dan Remote Explorer menunjukkan kepada saya folder-folder yang saya sambungkan sebelumnya, dan juga port-port yang dialihkan dari mesin jarak jauh.



Perintah proxy


Terkadang Anda mungkin perlu menyambungkan dari desktop atau komputer laptop ke komputer jarak jauh melalui intranet perusahaan Anda atau di belakang firewall. Dalam hal ini, Anda dapat menggunakan server perantara atau kotak lompat . Jenis konfigurasi ini berguna jika Anda menjalankan sistem aman yang dikonfigurasi untuk menerima koneksi SSH hanya dari sejumlah host tetap.

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

Anda dapat mengatur parameter konfigurasi ProxyCommand di file konfigurasi SSH sebagai berikut:

 # Jump box   IP- Host jump-box HostName 52.179.157.97 User sana IdentityFile ~/.ssh/jumpbox #     IP- 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 selain otentikasi berbasis kunci, seperti otentikasi dua faktor, berbasis kata sandi, atau kunci SSH dengan frasa sandi, Anda mungkin perlu 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.

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

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

Komputer Jarak Jauh Mandiri


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

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

Catatan Ini saat ini merupakan fitur eksperimental, tetapi akan diaktifkan secara default di rilis mendatang.

Remote - ekstensi SSH Nightly


Jika Anda ingin menguji pembaruan baru dan fitur eksperimental segera setelah tersedia, instal ekstensi Jarak Jauh - SSH Nightly (pertama-tama hapus ekstensi Remote-SSH yang stabil). Ini adalah ekstensi semalam, tempat kami bereksperimen dengan fitur dan pengaturan baru sebelum menambahkannya ke versi stabil.

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


All Articles