Penggunaan dan Konfigurasi Perintah SSH Asas di Linux

Penggunaan dan Konfigurasi Perintah SSH Asas di Linux

Ringkas: Dalam panduan ini, kita akan membincangkan kes penggunaan biasa SSH. Kami juga akan membincangkan konfigurasi SSH yang biasa digunakan yang boleh digunakan dalam kehidupan sehari-hari untuk meningkatkan produktiviti anda.

Shell selamat (SSH) adalah protokol rangkaian yang diterima secara meluas, yang membolehkan kita berinteraksi dengan tuan rumah jauh dengan cara yang selamat. Ia menyediakan keselamatan dengan menyulitkan semua komunikasi di antara mereka.

Cara Menggunakan Perintah SSH di Linux

Dalam bahagian ini, kita akan membincangkan beberapa kes penggunaan popular SSH Protokol.

Sambung ke Hos Linux Jauh

Terdapat pelbagai cara untuk berinteraksi dengan tuan rumah Linux jauh menggunakan protokol seperti telnet, ftp, netcat, dll. Walau bagaimanapun, ini tidak selamat kerana ketiadaan penyulitan. Kita boleh menggunakan protokol SSH untuk membolehkan komunikasi selamat antara tuan rumah.

Kita mesti menggunakan SSH pelanggan untuk berinteraksi dengan tuan rumah jauh. Terdapat banyak pelanggan GUI dan CLI yang tersedia untuk Linux. Walau bagaimanapun, sepanjang panduan ini, kami akan menggunakan utiliti baris arahan yang dipanggil SSH. Secara lalai, SSH Utiliti boleh didapati di kebanyakan pengagihan Linux.

Sintaks perintah SSH adalah seperti berikut:

$ ssh [opsyen] [perintah] [args] 

Di sini, kurungan persegi ([]) mewakili hujah pilihan sedangkan kurungan sudut () mewakili hujah wajib.

Mari sambungkan ke hos jauh menggunakan SSH Pelanggan:

$ ssh -l root 192.168.19.130 

Dalam contoh ini, kami menetapkan nama log masuk menggunakan -L pilihan dan tujuannya adalah 192.168.19.130. Sambungan SSH ditetapkan setelah memasukkan kata laluan yang betul. Sekarang dan seterusnya, kita dapat melaksanakan perintah pada hos jauh seperti sistem tempatan.

# HostName 

Untuk menamatkan sesi, kita boleh menggunakan keluar perintah atau ctrl+d Gabungan utama.

SSH Sambung ke Hos Linux Jauh

Penting untuk diperhatikan bahawa kita perlu mengesahkan dengan hos jauh untuk setiap sesi baru. Untuk mengelakkan memasukkan kata laluan setiap kali, kami boleh menyediakan log masuk tanpa kata laluan SSH.

Jalankan arahan pada tuan rumah terpencil

Di bahagian sebelumnya, kita melihat bagaimana untuk mewujudkan hubungan dengan tuan rumah terpencil, yang sesuai hanya apabila kita akan menggunakan hos jauh untuk tempoh yang lebih lama. Kadang -kadang, kita hanya perlu melaksanakan satu atau dua arahan pada tuan rumah terpencil. Dalam kes sedemikian, kita dapat melaksanakan perintah tersebut tanpa membuat sesi jangka panjang.

Mari laksanakan perintah nama host pada tuan rumah terpencil:

$ ssh -l root 192.168.19.130 Nama Host 

Dengan cara yang sama, kita boleh melaksanakan pelbagai arahan pada mesin Linux jauh:

$ ssh -l root 192.168.19.130 'nama host; pwd ' 
Perintah Run SSH di Linux Jauh

Penting untuk diperhatikan bahawa, perintah mesti dilampirkan dalam petikan dan dipisahkan oleh separuh kolon (;) watak. Jika anda ingin menjalankan arahan pada pelbagai tuan rumah Linux jauh, baca artikel kami - PSSH - Run Commands pada pelbagai tuan rumah Linux jauh.

Jalankan skrip pada tuan rumah terpencil

Sama dengan arahan kita juga boleh melaksanakan skrip tempatan di hos jauh. Mari fahami ini dengan contoh.

Pertama, buat skrip shell mudah pada mesin tempatan dengan keizinan yang boleh dilaksanakan di atasnya:

$ CAT Skrip.SH HOSTNAME PWD 

Sekarang, mari kita laksanakannya di hos jauh:

$ ssh [dilindungi e -mel] 'bash -s' < ./script.sh 

Dalam contoh ini, kami telah menggunakan -s Pilihan bash untuk membaca skrip dari input standard.

Skrip Run SSH di Linux Jauh

Salin fail antara tuan rumah

Kami bekerja dengan fail dan direktori dengan kerap. Satu pengguna operasi biasa melaksanakan adalah menyalin direktori dan fail. Sama seperti mesin tempatan, kami boleh menyalin fail dan direktori antara tuan rumah jauh menggunakan arahan SCP, yang menyalin fail dengan selamat menggunakan protokol SSH.

Mari salin Skrip.sh fail ke /TMP Direktori tuan rumah jauh:

$ SCP SCRIPT.SH [dilindungi e -mel]:/tmp 

Sekarang, sahkan bahawa fail telah disalin:

$ ssh [dilindungi e -mel] 'ls /tmp /script.sh ' 
Fail Salinan SSH ke Linux Jauh

Dengan cara yang sama, kita boleh menggunakan arahan SCP untuk menyalin direktori. Walau bagaimanapun, kita mesti menggunakan -r pilihan dengan arahan.

Dayakan mampatan untuk SSH

SSH menyokong mampatan data menggunakan gzip algoritma mampatan, yang memampatkan semua aliran data yang mungkin seperti stdin, stdout, stderr, dan sebagainya. Pilihan ini sangat berguna semasa menggunakan sambungan rangkaian yang perlahan.

Kita dapat mengaktifkan mampatan di SSH menggunakan -C pilihan:

$ ssh -c -l root 192.168.19.130 'nama host' 
SSH Enable mampatan

Dayakan Mod Verbose untuk SSH

Pengguna Linux sering perlu debug sesi SSH untuk menyiasat pelbagai sambungan SSH dan konfigurasi yang berkaitan. Dalam kes sedemikian, kita dapat mengaktifkan mod verbose yang mencetak log debug sesi semasa.

Mari kita aktifkan mod verbose menggunakan -v pilihan:

$ ssh -v -l root 192.168.19.130 Nama Host 

Di samping itu, kita dapat meningkatkan tahap keliaran dengan menggunakan pelbagai -v pilihan.

  • -v - Menetapkan tahap keliaran kepada 1 dan memberikan butiran mengenai aktiviti pihak klien.
  • -vv - Menetapkan tahap keliaran kepada 2 dan memberikan butiran mengenai aktiviti pelanggan dan pelayan.
  • -vvv - Menetapkan tahap keliaran kepada 3 dan memberikan maklumat yang lebih terperinci mengenai aktiviti klien dan pelayan.

Tahap keliasan maksimum yang disokong oleh SSH ialah 3. Mari lihat ini dalam tindakan:

$ ssh -vvv -l root 192.168.19.130 Nama Host 
Mod verbose ssh enbale

Dalam contoh di atas, debug1 mewakili mesej debug yang diaktifkan oleh tahap keliangan 1. Begitu juga, debug2 dan debug3 mewakili mesej debug yang didayakan oleh tahap keliasan 2 dan 3 masing -masing.

Urutan melarikan diri di SSH

Kita boleh menggunakan urutan melarikan diri dengan SSH Untuk menguruskan sesi terminal pelanggan. Mari kita bincangkan urutan melarikan diri yang biasa digunakan dengan kes penggunaan yang sesuai.

Menggantung sesi SSH

Kadang -kadang, kita harus melakukan beberapa aktiviti di mesin tempatan tanpa menamatkan sesi SSH semasa. Dalam senario sedemikian, kita boleh menggantung sesi semasa menggunakan ~ + ctrl + z Urutan utama.

Pertama, log masuk ke tuan rumah terpencil dan laksanakan Nama Host Perintah:

$ ssh -l root 192.168.19.130 # HostName 

Seterusnya, untuk menggantung sesi semasa jenis Tilde (~) watak dan kemudian tekan Ctrl + z Kunci. Penting untuk diperhatikan bahawa tilde (~) watak tidak akan dipaparkan pada stdout sehingga kita menekan Ctrl + z.

Sekarang, mari sahkan bahawa sesi telah digantung:

$ pekerjaan 

Di sini, kita dapat melihat bahawa sesi SSH semasa berjalan di latar belakang.

Mari kita meneruskan sesi lagi menggunakan FG perintah dan laksanakan Nama Host Perintah:

$ fg %1 
Jalankan sesi SSH di latar belakang
Tamatkan Sesi SSH Beku

Saya pasti anda mesti melihat sesi SSH beku, yang berlaku apabila sesi itu terganggu oleh rangkaian yang tidak stabil. Di sini, kita tidak dapat membatalkan sesi menggunakan keluar perintah. Walau bagaimanapun, kita boleh menamatkannya menggunakan "~ + ." Urutan utama.

Pertama, log masuk ke tuan rumah terpencil:

$ ssh -l root 192.168.19.130 

Sekarang gunakan "~ + ." gabungan utama untuk menamatkan sesi semasa.

Menamatkan sesi SSH

Dalam contoh ini, kita dapat melihatnya SSH menunjukkan mesej - Sambungan ke 192.168.19.130 ditutup.

Senarai urutan melarikan diri yang disokong

Satu perkara yang menarik ialah terdapat urutan melarikan diri untuk menyenaraikan semua urutan melarikan diri yang disokong. Kita boleh menggunakan "~ + ?" urutan melarikan diri untuk menyenaraikan urutan melarikan diri yang disokong:

Urutan melarikan diri yang disokong

Di sini, kita mesti tekan kekunci Enter untuk keluar dari menu bantuan.

Cara Mengkonfigurasi SSH di Linux

Dalam bahagian ini, kami akan membincangkan konfigurasi sisi pelayan untuk mengeraskan pelayan SSH. Pelayan SSH menyimpan semua konfigurasinya di /etc/ssh/sshd_config fail. Penting untuk diperhatikan bahawa, akses pengguna root diperlukan untuk mengemas kini konfigurasi SSH.

Paparkan spanduk SSH

Sebagai amalan terbaik, kita harus sentiasa memaparkan spanduk sebelum mewujudkan sambungan SSH. Dalam beberapa kes, ia tidak menggalakkan pengguna yang tidak dibenarkan daripada mengakses tuan rumah jauh. Mari lihat bagaimana untuk membolehkan tetapan ini langkah demi langkah.

Pertama, buat fail teks pada pelayan jauh dengan mesej amaran:

# vi /etc /spanduk.txt 

Seterusnya, tambahkan mesej spanduk berikut:

****************************************************************** ********************* amaran !!! Anda cuba log masuk ke Techmint.pelayan com. Semua aktiviti di pelayan ini dipantau. Menamatkan sesi dengan segera jika anda bukan pengguna yang diberi kuasa. ****************************************************************** *********************** 

Seterusnya, buka /etc/ssh/sshd_config fail dan tentukan fail dengan Banner Arahan:

Banner /etc /Banner.txt 

Sekarang, mulakan semula SSHD perkhidmatan dan menamatkan sesi menggunakan keluar Perintah:

# Systemctl mulakan semula sshd # keluar 

Akhirnya, sahkan spanduk dengan log masuk ke tuan rumah terpencil:

$ ssh -l root 192.168.19.130 
Paparkan spanduk SSH

Di sini, kita boleh bahawa pelayan memaparkan spanduk SSH dengan betul.

Lumpuhkan log masuk akar SSH

Setakat ini, kami menggunakan pengguna root untuk mengakses hos jauh. Walau bagaimanapun, ini bertentangan dengan prinsip keistimewaan paling sedikit. Dalam persekitaran pengeluaran, akses pengguna root sentiasa terhad untuk meningkatkan keselamatan.

Kita boleh menggunakan PermitRootlogin Arahan untuk melumpuhkan log masuk pengguna root.

Pertama, buka /etc/ssh/sshd_config fail dan gunakan pilihan tidak dengan PermitRootlogin Arahan:

Permitrootlogin no 

Sekarang, mulakan semula SSHD perkhidmatan dan menamatkan sesi menggunakan keluar Perintah:

# Systemctl mulakan semula sshd # keluar 

Akhirnya, sahkan ini dengan membuat sesi SSH baru:

$ ssh -l root 192.168.19.130 
Lumpuhkan log masuk akar SSH

Di sini, kita dapat melihat bahawa kita tidak dapat log masuk ke hos jauh dengan pengguna root. Untuk membenarkan log masuk pengguna root kita boleh menggunakan pilihan Ya dengan arahan yang sama.

Tukar port ssh lalai

Secara lalai, SSH Menggunakan port TCP 22. Walau bagaimanapun, kita boleh mengkonfigurasi SSH untuk menjalankan pelabuhan yang berbeza I.e. 8088.

Pertama, buka /etc/ssh/sshd_config fail dan gunakan 8088 nilai dengan Pelabuhan Arahan:

Pelabuhan 8088 

Seterusnya, mulakan semula perkhidmatan SSHD dan tamatkan sesi:

# Systemctl mulakan semula sshd # keluar 

Sekarang, mari log masuk ke tuan rumah terpencil:

$ ssh -p 8088 -l root 192.168.19.130 
Tukar port SSH

Dalam contoh ini, kami telah menggunakan -p pilihan untuk menentukan nombor port.

Dalam beberapa kes, kita perlu melakukan beberapa langkah lain untuk membolehkan komunikasi di pelabuhan bukan lalai. Seperti mengenal pasti port yang ada, mengemas kini peraturan firewall, tetapan selinux, dll.

Dalam artikel ini, kami membincangkan protokol SSH dan kes penggunaan biasa. Seterusnya, kami membincangkan beberapa pilihan biasa. Akhirnya, kami membincangkan beberapa tetapan untuk menjamin pelayan SSH.

Adakah anda mengetahui penggunaan arahan SSH terbaik di Linux? Beritahu kami pandangan anda dalam komen di bawah.