GNU/Linux >> Belajar Linux >  >> Linux

Seorang Windows Guy di Dunia Linux:Menyiapkan Perintah SSH di Linux

Linux dan Windows dulunya adalah musuh bebuyutan tetapi saat ini, mereka cenderung lebih akrab. Bahkan, sekarang Anda bahkan dapat menggunakan SSH secara native di Windows:baik sebagai klien maupun server. Apa yang Anda lakukan ketika Anda seorang admin Windows tetapi juga perlu mengelola mesin Linux? Anda terbiasa dengan perintah SSH (Secure Shell) di Linux!

Ini adalah Bagian IV dalam seri posting blog Seorang Pria Windows di Dunia Linux. Jika Anda ingin mempelajari lebih lanjut tentang konsep Linux yang populer, pastikan untuk membaca Bagian I, Bagian II, dan Bagian III.

Dalam postingan ini, Anda akan mempelajari semua tentang cara mengaktifkan SSH di Linux, dan cara menyiapkan klien SSH Windows Anda untuk terhubung ke server Linux jarak jauh.

Catatan:Semua contoh akan menggunakan OpenSUSE Linux.

Berpindah Dari Lingkungan Desktop

Kembali ke posting pertama seri ini, tutorial direkomendasikan menggunakan lingkungan desktop KDE. Saat Anda melakukan setup OpenSUSE, Anda mungkin melihat opsi lain yang menarik; edisi server OpenSUSE.

Jika Anda telah menginstal edisi server dari sebagian besar distribusi Linux (termasuk OpenSUSE), Anda mungkin telah menyadari kurangnya desktop. Edisi Server dari distribusi paling populer (seperti OpenSUSE, serta Ubuntu Server dan CentOS) seperti Windows Server Core:tidak ada desktop untuk dibicarakan.

Untuk memahami mengapa desktop biasanya dijauhi dalam budaya Linux, Anda perlu memahami CLI dan SSH.

SSH:Standar Emas Manajemen Jarak Jauh

SSH, seperti banyak protokol manajemen jarak jauh lainnya, adalah sistem berbasis klien-server. Seorang klien dari jarak jauh terhubung melalui jaringan ke server dan memungkinkan Anda untuk menjalankan perintah (atau bahkan mentransfer file). SSH adalah standar de facto dalam hal mengelola Linux dari jarak jauh.

Karena SSH telah ada sejak lama dan tertanam kuat di ekosistem Linux, utilitas administrasi baris perintah mendominasi lingkungan server Linux. Sebagian besar distribusi server Linux tidak memiliki antarmuka grafis.

Menggunakan Perintah SSH di Linux

Cukup bicara. Mari kita lihat apa yang dapat dilakukan SSH dengan terlebih dahulu mengaktifkannya di OpenSUSE Linux. Untuk melakukannya, gunakan manajer paket YaST. Untuk mengaktifkan SSH dengan YaST di OpenSUSE:

  1. Klik menu mulai, ketik terminal dan pilih Konsol dengan asumsi Anda telah menginstal KDE Desktop Manager saat menginstal OpenSUSE.
  2. Di terminal, buka YaST dengan menjalankan sudo yast .
  3. Setelah di YaST, panah ke bawah ke sistem , lalu panah ke manajer layanan dan tekan Enter untuk melanjutkan.
  4. Panah ke bawah ke sshd, dan tekan alt+s untuk memulai layanan SSH.
  5. Tekan alt+r untuk mengubah mode mulai dari manual ke saat boot. Ini akan memastikan layanan server SSH dimulai bahkan setelah reboot.
  6. Tekan alt+o ke ok perubahan dan menerapkannya.

Anda dapat melihat langkah-langkah ini di bawah ini.

Mengizinkan SSH Melalui Firewall

Hampir setiap distribusi Linux dilengkapi dengan semacam firewall untuk melindunginya seperti halnya Windows. Anda dapat membaca tentang firewall OpenSUSE di sini. Untuk memastikan Anda dapat mengakses layanan SSH dari jarak jauh dari Window, Anda harus mengizinkannya melalui firewall. Untuk melakukannya:

  1. Masih di terminal, mulai YaST lagi dengan sudo yast .
  2. Panah ke bawah ke Keamanan dan Pengguna lalu panah ke Firewall dan tekan Enter untuk melanjutkan.
  3. Navigasi ke Zona –> Publik dan panah ke Layanan—Port panel di sebelah kanan.
  4. Panah ke bawah untuk menemukan ssh dalam layanan.
  5. Pilih ssh dengan spasi dan tekan alt+d untuk menambahkan pilihan.
  6. Tekan alt+a untuk menerima perubahan.

Anda dapat melihat semua langkah di atas direpresentasikan secara visual di bawah ini.

Sama seperti Windows, Linux memiliki tingkat kepercayaan yang berbeda untuk menerapkan aturan firewall. Level-level ini disebut sebagai zona. Windows memiliki zona publik, kerja, dan pribadi secara default. Linux memiliki lebih banyak lagi, tetapi default ke zona publik.

Menghubungkan ke Linux dari Windows

Untungnya, hari ini, Windows 10 memiliki klien SSH bawaan. Untuk terhubung ke host Linux, buka command prompt (cmd) atau konsol PowerShell dan tentukan nama pengguna untuk terhubung dan IP atau nama host.

> ssh @

Jika semuanya berjalan dengan baik, klien SSH akan meminta Anda untuk menerima sidik jari. Sidik jari adalah pengenal untuk memastikan seseorang tidak membajak alamat IP target.

Jika Anda menjalankan Windows 7, Anda masih dapat SSH ke host Linux Anda. Anda hanya perlu mengunduh klien Microsoft SSH dari sini. Klien SSH ini sama dengan yang digunakan Windows 10.

Setelah Anda mengetik yes dan masukkan kata sandi Anda, Anda terhubung ke server Anda! Sekarang Anda dapat menggunakan baris perintah seperti saat kita membuka terminal di komputer itu sendiri.

Jangan mengekspos SSH (port default 22) ke Internet melalui router Anda. Bot merayapi Internet terus-menerus mencari port SSH terbuka. Segera setelah bot menemukan port terbuka, mereka akan mulai mengirim spam kata sandi untuk mencoba masuk secara paksa.

Mengaktifkan Dukungan Mouse di SSH dengan Windows

Salah satu kelemahan besar menggunakan klien Windows 10 SSH asli (setidaknya pada saat penulisan ini) adalah kurangnya dukungan mouse. Ini berarti Anda tidak dapat menggunakan mouse di komandan tengah malam seperti yang Anda pelajari di posting blog sebelumnya.

Untungnya, pada versi delapan dari klien Windows OpenSSH, Anda bisa mendapatkan dukungan mouse! Mari kita pasang klien ini.

  1. Unduh rilis terbaru OpenSSH-Win64 dari sini dan ekstrak file zip yang dihasilkan. Tutorial akan menganggap Anda mengekstraknya ke ~\Downloads\OpenSSH-Win64 .
  2. Buka konsol PowerShell dan navigasikan ~\Downloads\OpenSSH-Win64 dengan cd ~\Downloads\OpenSSH-Win64 .
  3. Periksa versi klien SSH dengan menjalankan .\\ssh -V . Saat panduan ini ditulis, versinya seharusnya 8.1.0.0-p1.
  4. SSH ke server Linux Anda dengan menggunakan .\ssh @ .
  5. Setelah login, uji dukungan mouse dengan menjalankan mc untuk menjalankan komandan tengah malam untuk memastikan Anda dapat menggunakan mouse.

Anda dapat melihat semua langkah di atas direpresentasikan secara visual di bawah ini.

Mengganti Klien SSH Default

Jika Anda ingin menggunakan versi baru secara lebih permanen, Anda dapat; tetapi Anda harus mengganti klien SSH Windows 10 default. Ini memastikan setiap kali Anda menjalankan ssh pada baris perintah, versi yang lebih baru (dengan dukungan mouse) digunakan.

Dengan asumsi Anda telah mengekstrak klien ke ~\Downloads\OpenSSH-Win64 map

  1. Pindahkan folder OpenSSH-Win64 yang telah diekstrak ke folder permanen pilihan Anda. Tutorial ini akan menggunakan C:\users\public\OpenSSH-Win64 .
  2. Buka Mulai lalu Jalankan dan ketik sysdm.cpl atau, buka Sistem dari panel kontrol.
  3. Di bawah Lanjutan tab, klik Variabel Lingkungan .
  4. Di bawah Variabel Sistem , klik Jalur .
  5. Klik Baru untuk menambahkan jalur baru dan menyediakan jalur folder ke klien SSH (C:\users\public\OpenSSH-Win64 dalam hal ini).
  6. Klik Naikkan sampai di atas %SystemRoot%\system32 map. Ini akan memastikan setiap kali Anda mengetik ssh pada baris perintah, Windows akan melihat di sini terlebih dahulu.
  7. Buka konsol PowerShell dan jalankan ssh -V . Anda akan melihat versinya berada di 8.1.0.0-p .

Langkah-langkah ini dirangkum di bawah ini.

Memprioritaskan folder di atas %SystemRoot%\system32 dapat menjadi risiko keamanan. Jika seseorang memiliki akses ke komputer Anda, mereka dapat memutuskan untuk memasukkan virus ke dalam folder OpenSSH-Win64 dan menamakannya sebagai utilitas windows seperti cd.exe .

Anda harus membatasi folder OpenSSH-Win64 agar hanya dapat dibaca oleh siapa saja kecuali administrator.

  1. Klik kanan pada folder OpenSSH-Win64 dan klik Properties .
  2. Di bawah Keamanan tab, klik tab Lanjutan tombol.
  3. Klik Nonaktifkan pewarisan untuk mengizinkan izin folder khusus dan untuk mencegah folder induk mengesampingkan izin di folder OpenSSH-Win64.
  4. Pilih Tambahkan , temukan Administrator kelompok dan beri mereka hak penuh.
  5. Klik Tambahkan , temukan Semua Orang grup dan beri mereka izin hanya baca.
  6. Pilih Ganti semua izin objek anak kotak centang untuk menyebarkan pengaturan ini ke semua file di folder OpenSSH-Win64; klik Terapkan .
  7. Sekarang uji izin ini dengan membuat file baru di folder OpenSSH-Win64. Windows seharusnya memerlukan prompt Administrator.

Anda dapat melihat semua langkah di atas direpresentasikan secara visual di bawah ini.

Mengelola Sesi yang Terputus dengan Tmux

Ah, betapa sakitnya! Anda setengah jalan menjalankan perintah yang dijalankan lama melalui SSH dan Internet Anda terputus. Sekarang Anda tidak tahu keadaan server Linux! Apakah sudah selesai dengan perintah itu? Bagaimana cara mendapatkannya kembali?

Sesi yang terputus adalah masalah yang sah dengan SSH dan untungnya memiliki solusi langsung. Anda memerlukan terminal multiplexer (tmux).

Tmux adalah singkatan dari terminal multiplexer, dan nama program itu sendiri

Tmux adalah manajer sesi untuk SSH. Ini "bertahan" ke sesi jika Anda terputus dan membuatnya tetap berjalan di latar belakang. Anda dapat menyambung kembali ke sesi itu nanti atau bahkan membuat beberapa sesi dan melompat di antara sesi tersebut.

Untuk mengelola sesi yang terputus dengan tmux:

  1. Di terminal Linux, unduh dan instal utilitas tmux dengan menjalankan sudo zypper install -y tmux seperti yang terlihat di bawah ini:

Anda juga dapat menggunakan YaST untuk mengunduh utilitas tmux.

Sebagian besar distribusi Linux memiliki manajer paket baris perintah yang berbeda. OpenSUSE menggunakan zypper. Arch menggunakan pacman. Ubuntu menggunakan apt. Red Hat menggunakan dnf dan yum. Untungnya, sintaks untuk manajer paket ini cukup mirip secara keseluruhan.

2. Di komputer Windows Anda, buka konsol PowerShell dan SSH ke server Linux Anda. Tutorial akan menggunakan nama pengguna homelab dan IP server Linux 192.168.134.169.

ssh @

3. Buka tmux dengan menjalankan tmux sekali terhubung. Anda harus mendapatkan bilah hijau di bagian bawah

4. Jalankan perintah yang mengeluarkan beberapa teks. Tidak masalah apa itu. Tutorial ini menggunakan neofetch . Anda dapat menjalankan ls juga.

5. Putuskan sambungan sesi dengan menutup PowerShell. Tindakan ini mensimulasikan putus sekolah.

6. Sambungkan kembali ke server Linux Anda menggunakan SSH.

7. Sekarang pasang kembali ke sesi lama dengan menjalankan tmux a Anda masih harus melihat output dari ls sebelumnya itu memerintah. Hore, tidak ada kehilangan data dari pemutusan!

Anda dapat melihat semua langkah di atas direpresentasikan secara visual di bawah ini.

Jika Anda mencoba menjalankan utilitas Midnight Commander di dalam tmux , Anda mungkin menyadari bahwa Anda tidak memiliki dukungan mouse. Anda dapat memperbaikinya dengan menjalankan mc -x sebagai gantinya.

Mengaktifkan tmux saat Masuk

Secara default, tmux tidak akan tersedia di semua sesi SSH. Anda dapat mengubahnya dengan memaksa tmux untuk melampirkan sesi SSH Anda setiap kali Anda login.

Dengan asumsi Anda menggunakan SSH ke server Linux Anda:

  1. Buka utilitas komandan tengah malam menggunakan mc.

2. Sorot .bashrc file dan tekan edit .

.bashrc file adalah skrip shell (batch) yang berjalan setiap kali Anda masuk melalui baris perintah

3. Tambahkan kode skrip shell di bawah ini ke bagian bawah file teks.

if [ -z "$TMUX" ]; then tmux attach -t default || tmux new -s default fi

4. Klik keluar dan simpan saat diminta.

5. Uji tmux auto-attach dengan memutuskan sambungan dari sesi SSH Anda dan bergabung kembali. Anda akan mendapatkan bilah hijau di bagian bawah secara otomatis, yang menunjukkan bahwa Anda terhubung ke tmux sesi!

Itu benar-benar hanya menggores permukaan dari apa tmux dapat melakukannya, ini adalah program multitasking yang cukup kuat. Jika Anda bertanya kepada admin Linux apa perintah yang paling sering mereka gunakan, itu mungkin tmux .

Menutup

Itu menyimpulkan posting terbaru di Pria Windows di Dunia Linux seri posting blog. Pantau terus blog ATA untuk pemasangan berikutnya yang akan datang!


Linux
  1. Perintah mv Linux

  2. Linux du perintah

  3. Perintah ip Linux

  1. Perintah cd Linux

  2. Sembunyikan file tersembunyi Linux di Windows

  3. linux mengeksekusi perintah dari jarak jauh

  1. Windows setara dengan perintah linux cksum

  2. Apa yang setara dengan ~ (tilde) Linux di Windows?

  3. Perintah Linux untuk menunggu server SSH aktif