Bagaimana memanfaatkan openssh

Bagaimana memanfaatkan openssh

OpenSSH adalah konektivitas jaringan dan alat login jarak jauh yang dengan aman mengenkripsi semua lalu lintas, yang awalnya dikembangkan oleh pengembang OpenBSD untuk digunakan dalam sistem operasi mereka. Mempertimbangkan fokus utama pengembang OpenBSD pada keamanan, tidak mengherankan bahwa OpenSsh dengan cepat menjadi implementasi login jarak jauh standar untuk semua sistem operasi Linux dan UNIX. OpenSsh menggunakan model server klien dengan ssh Perintah menyediakan fungsionalitas klien dan sshd memberikan fungsionalitas server.

Dalam tutorial ini Anda akan belajar:

  • Cara menginstal openssh
  • Cara Masuk ke Shell Jarak Jauh
  • Cara menyalin file antar mesin dengan scp
  • Cara mengaktifkan otentikasi berbasis kunci dan menonaktifkan login berbasis kata sandi
  • Cara menyimpan konfigurasi mesin yang sering diakses untuk koneksi yang lebih mudah
  • Cara memasang sistem file jarak jauh di atas protokal ssh
  • Cara menggunakan port forwarding/tunneling
  • untuk mengakses mesin di belakang Nat/Firewall
  • untuk membuat proxy web
Cara memanfaatkan openssh - tips & trik terbaik

Persyaratan dan konvensi perangkat lunak yang digunakan

Persyaratan Perangkat Lunak dan Konvensi Baris Perintah Linux
Kategori Persyaratan, konvensi atau versi perangkat lunak yang digunakan
Sistem Sistem berbasis Debian, Red Hat, dan Arch secara eksplisit dicakup, tetapi suite openssh adalah distribusi-independen dan semua instruksi harus berfungsi untuk setiap distribusi yang menggunakan SystemD sebagai sistem initnya.
Perangkat lunak Openssh
Lainnya Hak istimewa root untuk memodifikasi file konfigurasi
Konvensi # - mensyaratkan perintah linux yang diberikan untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah
$ - mensyaratkan perintah Linux yang diberikan untuk dieksekusi sebagai pengguna biasa

Menginstal OpenSsh

Sebagian besar distribusi akan memberikan opsi untuk menginstal OpenSsh selama instalasi awal mereka, tetapi masih dapat diinstal secara manual jika opsi ini tidak dipilih. Pada sistem berbasis Debian dan Red Hat Anda harus menginstal server dan klien secara terpisah, sedangkan pada sistem berbasis Arch, klien dan server diinstal sebagai satu paket (lihat contoh di bawah). Perhatikan bahwa jika Anda menggunakan firewall, pastikan untuk membuka port 22 untuk lalu lintas yang masuk di mesin apa pun yang ingin Anda gunakan sebagai server.

Tentang sistem berbasis debian

$ sudo apt-get install openssh-server $ sudo apt-get install openssh-client 


On Red Hat Based Systems (Catatan: On Fedora Versi 22 atau yang lebih baru mengganti yum dengan DNF)

$ sudo yum instalasi openssh-server $ sudo yum instalasi openssh-client 

Tentang sistem berbasis lengkungan

$ sudo Pacman -s OpenSsh 

Setelah menginstal server SSH, beberapa distribusi akan memungkinkan layanan SSHD secara default dan yang lainnya tidak akan. Pada versi terbaru dari distribusi di atas, masukkan berikut ini untuk memastikan bahwa daemon SSH diaktifkan dan dapat dihubungkan oleh klien.

$ sudo systemctl start sshd $ sudo systemctl aktifkan sshd 

Ini akan memulai layanan sekarang dan pada setiap boot berikutnya.

Masuk ke shell jarak jauh

Masuk ke shell jarak jauh adalah penggunaan OpenSSH yang paling mendasar dan umum. Perintah berikut akan memungkinkan Anda untuk masuk dari satu mesin jaringan ke mesin lainnya, dengan asumsi keduanya telah diinstal SSH terbuka. CATATAN: Ganti "Nama Pengguna" dengan nama pengguna pengguna yang ingin Anda login sebagai. Jika Anda terhubung ke komputer lain di jaringan yang sama dengan Anda, lalu ganti "host" dengan alamat IP atau nama host mesin itu. Jika Anda masuk ke mesin melalui internet maka ganti "host" dengan alamat IP atau nama domain mesin itu.

$ ssh username@host 

Secara default, SSHD mengharuskan kata sandi pengguna untuk mengotentikasi, jadi masukkan kata sandi pengguna dan sekarang Anda masuk ke mesin itu sebagai pengguna tersebut. Jika pengguna adalah pengguna root atau memiliki hak istimewa sudo maka Anda sekarang dapat sepenuhnya mengelola mesin dari jarak jauh. Perhatikan bahwa jika Anda menghubungkan ke server yang menggunakan port selain default 22 (misalnya 10001) maka Anda perlu menentukan nomor port dengan memasukkan "-p 10001" (the "-P”Harus menjadi huruf kecil, lebih lanjut tentang ini nanti) antara SSH dan sisa perintah.

Menyalin file antar mesin

Perintah SCP dapat digunakan untuk menyalin file ke atau dari satu mesin dan lainnya. Untuk melakukannya, Anda harus terlebih dahulu menyediakan jalur file yang ingin Anda salin dan kemudian jalur tempat Anda ingin file tersebut disalin.

Misalnya, untuk menyalin file Todolist.txt dari klien ~/Dokumen folder ke mesin jarak jauh ~/Unduhan Folder Masukkan yang berikut.

$ scp ~/dokumen/todolist.txt nama pengguna@host: ~/unduhan/ 

Demikian pula, Anda dapat menyalin file dari server ke klien. Cukup berikan jalur file di server, diikuti oleh jalur yang diinginkan pada mesin klien. Misalnya, kami dapat menyalin hal yang sama Todolist.txt bahwa kami baru saja mengunggah, ke /tmp direktori mesin lokal dengan mengeluarkan perintah berikut.

$ scp username@host: ~/unduhan/todolist.txt /tmp / 

Perhatikan bahwa jika Anda menyalin ke/dari server yang menggunakan port selain default 22 (misalnya 10001) maka Anda perlu menentukan nomor port dengan memasukkan " -P 10001 “antara SCP dan sisa perintah. Juga, perhatikan bahwa ini adalah modal P Berbeda dengan huruf kecil P digunakan oleh perintah ssh. Proses untuk menyalin direktori adalah sama, kecuali bahwa Anda harus menentukan “-R"Bendera untuk menyalin secara rekursif direktori bersama dengan semua subdirektori dan file di dalamnya. Perintah berikut akan menyalin seluruh direktori dokumen dari pengguna lokal ke folder unduhan pengguna jarak jauh.

$ scp -r ~/dokumen nama pengguna@host: ~/unduhan/ 

Sebagai alternatif untuk perintah SCP Anda dapat menggunakan perintah sftp untuk mentransfer file antar mesin. Itu berperilaku seperti perintah FTP klasik tetapi tidak seperti FTP, itu sepenuhnya dienkripsi.

Mengkonfigurasi otentikasi berbasis kunci

Jika Anda menggunakan OpenSSH di jaringan rumah aman Anda maka Anda mungkin baik -baik saja dengan otentikasi kata sandi. Namun, jika Anda menggunakannya melalui internet, memungkinkan otentikasi berbasis kunci dan menonaktifkan otentikasi kata sandi di server yang menghadap ke internet Anda disarankan untuk keamanan tambahan. Ini juga dapat bermanfaat jika Anda hanya ingin menghindari harus mengetik kata sandi untuk masuk atau jika Anda menggunakan mesin server di wifi publik.

Otentikasi Berbasis Kunci menggunakan konstan kunci-kunci kriptografi dari kunci pribadi yang disimpan hanya pada mesin klien lokal dan kunci publik yang disimpan di server jarak jauh.

Pertama, hasilkan pasangan kunci pribadi/publik di mesin klien lokal.

$ ssh -keygen -t RSA 

Kemudian unggah hanya kunci publik ke mesin jarak jauh

$ ssh-copy-id -i ~/.ssh/id_rsa.nama pengguna pub@host 

Sekarang login ke server jarak jauh dan jika Anda tidak diminta untuk kata sandi pengguna, login berbasis kunci berfungsi dan Anda dapat menonaktifkan login berbasis kata sandi.
Menggunakan editor teks favorit Anda terbuka /etc/ssh/sshd_config sebagai root atau dengan sudo

$ sudo vim/etc/ssh/sshd_config 


dan membuat perubahan berikut dengan mengubah Ya ke TIDAK Untuk bidang -bidang ini dan tidak berkomentari mereka sebagaimana diperlukan (hapus # jika garis dimulai dengan itu).

ChallengeresponseAuthentication No PasswordAuthentication No Usepam no 

Selanjutnya, Muat Ulang Layanan SSHD.

$ sudo systemctl Reload ssh 

Simpan konfigurasi mesin yang sering diakses untuk koneksi yang lebih mudah

Mungkin berguna untuk menyimpan konfigurasi mesin yang sering diakses sehingga Anda dapat menghubungkannya dengan lebih mudah; Terutama jika mereka memiliki SSHD mendengarkan di port non -default (bukan 22). Untuk melakukannya Anda menambahkan entri ke Anda ~/.ssh/config mengajukan.
Entri untuk mesin yang akan Anda hubungkan menggunakan perintah berikut

$ ssh -p 1666 bob@remotemachine 

terlihat seperti ini.

Pengguna Host Remotemachine Bob Hostname Remotemachine Port 1666 

Maka Anda dapat mengakses mesin itu menggunakan perintah berikut ke depan.

$ SSH Remotemachine 

Memasang sistem file jaringan dengan SSHFS

Meskipun itu bukan bagian dari suite openssh, sshfs dapat diinstal menggunakan paket manajer dan kemudian digunakan untuk memasang sistem file jarak jauh melalui jaringan. Mari kita asumsikan bahwa Anda ingin mengakses direktori home user1@machine1 pada sistem file lokal Anda.

Buat direktori tempat Anda ingin memasang sistem file jarak jauh.

$ mkdir sshmount 

Pasang sistem file yang menentukan jalur jarak jauh dan jalur lokal tempat Anda ingin memasangnya.

$ sshfs user1@machine1:/home/user1 sshmount 

Untuk melepas masalah file sistem file salah satu dari perintah berikut

$ fusermount -u sshmount 

atau

$ sudo Umount sshmount 


Penerusan Port/Tunneling

Penerusan port, juga dikenal sebagai tunneling, dapat digunakan untuk memberikan enkripsi untuk aplikasi dan protokol yang lalu lintas jaringan yang sebaliknya akan dikirim dalam hal yang jelas. Dua contoh berikutnya menunjukkan dua penggunaan lain dari penerusan port.

Mengakses shell jarak jauh pada mesin yang ada di belakang Nat atau Firewall

Bagaimana jika Anda ingin SSH melalui internet ke mesin yang ada di belakang Nat atau firewall? Dalam skenario ini ada 3 mesin.

  1. Mesin di belakang NAT Anda ingin masuk ke jarak jauh
  2. Server yang menghadap internet yang Anda miliki akses SSH
  3. Mesin di jaringan lain yang ingin Anda gunakan untuk masuk ke mesin 1 melalui internet

Untuk perintah ssh -L Switch Forwards Connections ke port lokal yang ditentukan ke port host yang ditentukan. Demikian pula, -R Switch Forwards Connections ke port jarak jauh yang ditentukan ke port lokal yang ditentukan.

Pada mesin 1 Masukkan perintah berikut.

user1@1 $ ssh -r 10125: localhost: 22 user2@2 

Pada mesin 3 Masukkan perintah berikut. Catatan: Perintah kedua harus dibuka di jendela terminal baru atau TTY.

user3@3 $ ssh -l 10001: localhost: 10125 user2@2 user3@3 $ ssh user1@localhost -p 10001 

Perintah pertama akan tampak seperti masuk ke mesin 2 secara normal, tetapi juga akan mengikat port 22 (layanan SSHD) dari mesin 1 ke port 10125 pada mesin 2 sehingga koneksi ke port 10125 pada mesin 2 diteruskan ke port 22 pada mesin 1. Perintah kedua juga akan tampak seperti masuk ke mesin 2 secara normal, tetapi mengikat port 10001 dari mesin 3 ke port 10125 pada mesin 2 sehingga koneksi ke port 10001 pada mesin 3 diteruskan ke port 10125 pada mesin 2, yang kemudian diteruskan ke port 22 pada mesin 1. Kemudian, akhirnya mesin 3 dapat masuk ke mesin 1, dengan menghubungkan ke port 10001 dengan sendirinya yang diteruskan melalui terowongan yang kami buat.

Menggunakan OpenSsh sebagai proxy web

Menggunakan -D Bendera Anda dapat menggunakan server SSH jarak jauh Anda sebagai proxy kaus kaki. Ini bisa sangat berguna untuk penelusuran web, misalnya jika Anda menggunakan WiFi publik dan menginginkan privasi ekstra, atau jika Anda menggunakan pekerjaan/sekolah/jaringan lain yang dapat mengintip atau menyensor konten.

Cukup keluarkan perintah berikut dan Anda akan dapat menggunakan port 8888 Mesin lokal Anda sebagai proxy kaus kaki, sehingga koneksi ke port 8888 akan diteruskan dengan aman ke server jarak jauh dan sepenuhnya dienkripsi dari menatap mata lokal pada jaringan lokal.

ssh -d 8888 nama pengguna@host 
Mengkonfigurasi Socks Proxy di Firefox

Tutorial Linux Terkait:

  • Cara mencegah pemeriksaan konektivitas networkmanager
  • Linux: Setup SSH
  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Pengantar Otomatisasi Linux, Alat dan Teknik
  • Cara Mengatur Server OpenVPN di Ubuntu 20.04
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
  • Cara Menghasilkan dan Mengelola Kunci SSH di Linux
  • Mint 20: Lebih baik dari Ubuntu dan Microsoft Windows?
  • Ubuntu 20.04 SSH Server
  • Menguasai loop skrip bash