Install dan Mengaktifkan SSH di Debian 10
Install SSH Update reposetory
sudo apt-get update
Install openssh-server
sudo apt-get install openssh-server
Cek status ssh
sudo systemctl status sshd
File config
nano /etc/ssh/sshd_config
Restart service ssh
sudo systemctl restart sshd
Menghentikan service ssh
sudo systemctl stop sshd
Menjalankan service ssh
sudo systemctl start sshd
Daftar opsi konfigurasi klien
Kata kunci berikut dapat digunakan dalam file konfigurasi klien SSH. Kata kunci peka huruf besar/kecil dan argumen peka huruf besar/kecil. Setiap algoritma atau nama metode yang menyertakan tanda (@) hanya untuk penggunaan eksperimental dan tidak direkomendasikan untuk produksi.
Host Membatasi deklarasi berikut hanya untuk host yang cocok dengan salah satu pola yang diberikan setelah kata kunci. Pola dicocokkan dengan nama host yang diberikan pada baris perintah.
Match Membatasi deklarasi berikut untuk diterapkan hanya untuk host yang cocok dengan kriteria yang ditentukan. Untuk informasi rinci, lihat halaman manual SSH .
AddressFamily Menentukan keluarga alamat mana yang akan digunakan saat menghubungkan. Argumen yang valid adalah: any, inet, inet6.
BatchMode
Jika disetel ke yes, kueri frasa sandi/sandi akan dinonaktifkan. Ini berguna untuk menjalankan klien ssh dari skrip shell yang tidak memiliki pengguna interaktif, dan mencegah pemblokiran secara tidak sengaja pada prompt kata sandi.
BindAddress Menentukan untuk menggunakan alamat yang ditentukan pada mesin lokal sebagai alamat sumber koneksi.
ChallengeResponseAuthentication Menentukan apakah akan menggunakan autentikasi tantangan-respons. Ini sebagian besar merupakan metode lama dan telah digantikan oleh KbdInteractiveAuthentication.
CheckHostIP Mengarahkan ssh untuk memeriksa alamat IP host tambahan dalam known_hostsfile.
Cipher Menentukan sandi yang akan digunakan untuk mengenkripsi sesi dalam protokol versi 1. Perhatikan bahwa penggunaan protokol 1 tidak disarankan.
Ciphers Menentukan cipher yang diizinkan untuk protokol versi 2 dalam urutan preferensi. Beberapa cipher harus dipisahkan dengan koma. The ssh -Q cipherperintah dapat digunakan untuk permintaan didukung cipher. Daftar berikut ini didukung di OpenSSH 6.7:
3des-cbc blowfish-cbc cast128-cbc arcfour arcfour128 arcfour256 aes128-cbc aes192-cbc aes256-cbc rijndael-cbc@lysator.liu.se aes128-ctr aes192-ctr aes256-ctr aes128-gcm@openssh.com aes256-gcm@openssh.com chacha20-poly1305@openssh.com
ClearAllForwardings Menentukan bahwa semua penerusan port lokal, jarak jauh, dan dinamis yang ditentukan dalam file konfigurasi atau pada baris perintah dihapus.
Compression Menentukan apakah akan menggunakan kompresi. yesmemungkinkan kompresi.
CompressionLevel Menentukan tingkat kompresi yang akan digunakan jika kompresi diaktifkan.
ConnectionAttempts Menentukan jumlah upaya yang harus dilakukan sebelum keluar.
ConnectTimeout Menentukan batas waktu (dalam detik) yang digunakan saat menyambung ke server SSH, alih-alih menggunakan batas waktu TCP sistem default.
ControlMaster Memungkinkan berbagi beberapa sesi melalui satu koneksi jaringan.
Jalur Kontrol
Tentukan jalur ke soket kontrol yang digunakan untuk berbagi koneksi seperti yang dijelaskan di bagian ControlMaster di atas atau string noneuntuk menonaktifkan berbagi koneksi.
ControlPath Menentukan bahwa port TCP pada mesin lokal diteruskan melalui saluran aman, dan protokol aplikasi kemudian digunakan untuk menentukan ke mana harus terhubung dari mesin jarak jauh.
EscapeChar Mengatur karakter pelarian.
ExitOnForwardFailure Menentukan apakah ssh harus mengakhiri koneksi jika tidak dapat mengatur semua penerusan port dinamis, terowongan, lokal, dan jarak jauh yang diminta.
ForwardAgent Menentukan apakah koneksi ke agen otentikasi akan diteruskan ke mesin jarak jauh.
ForwardX11 Menentukan apakah koneksi X11 akan secara otomatis dialihkan melalui saluran aman dan set DISPLAY.
ForwardX11Trusted Jika opsi ini disetel ke yes, klien X11 jarak jauh akan memiliki akses penuh ke tampilan X11 asli.
GatewayPorts Menentukan apakah host jarak jauh diizinkan untuk terhubung ke port penerusan lokal.
GlobalKnownHostsFile Menentukan file yang akan digunakan untuk database kunci host global, bukan /etc/ssh/ssh_known_hosts.
GSSAPIAuthentication Menentukan apakah autentikasi pengguna berdasarkan GSSAPI diizinkan. GSSAPI biasanya digunakan untuk otentikasi Kerberos, misalnya dengan Active Directory .
GSSAPIKey Exchange Menentukan apakah pertukaran kunci berdasarkan GSSAPI dapat digunakan.
GSSAPIClientIdentity Jika disetel, tentukan identitas klien GSSAPI yang harus digunakan ssh saat menghubungkan ke server.
GSSAPIDelegateCredentials Teruskan (delegasikan) kredensial ke server.
GSSAPIRenewalForcesRekey Jika disetel ke yesmaka pembaruan kredensial GSSAPI klien akan memaksa rekeying koneksi ssh.
GSSAPITrustDns Setel ke yesuntuk menunjukkan bahwa DNS dipercaya untuk secara aman mengkanonikalisasi nama host yang terhubung. Jika no, nama host yang dimasukkan pada baris perintah akan diteruskan tanpa disentuh ke pustaka GSSAPI.
HashKnownHosts Menunjukkan bahwa ssh harus meng-hash nama dan alamat host saat ditambahkan ke ~/.ssh/known_hosts. Nama hash ini dapat digunakan secara normal oleh ssh dan sshd , tetapi mereka tidak mengungkapkan informasi identitas jika konten file diungkapkan.
HostbasedAuthentication Menentukan apakah akan mencoba otentikasi berbasis rhosts dengan otentikasi kunci publik, menggunakan file .rhostsor .shostsdi direktori home pengguna dan /etc/hosts.equivdan /etc/shosts.equivdalam konfigurasi global.
HostKeyAlgorithms Menentukan algoritma kunci host versi protokol 2 yang ingin digunakan klien dalam urutan preferensi. Nilai-nilai berikut ini didukung di OpenSSH 6.7:
ssh-ed25519 ssh-ed25519-cert-v01@openssh.com ssh-rsa ssh-dss ecdsa-sha2-nistp256 ecdsa-sha2-nistp384 ecdsa-sha2-nistp521 ssh-rsa-cert-v01@openssh.com cert-v01@openssh.com ecdsa-sha2-nistp256-cert-v01@openssh.com ecdsa-sha2-nistp384-cert-v01@openssh.com ecdsa-sha2-nistp521-cert-v01@openssh.com ssh-rsa- cert-v00@openssh.com ssh-dss-cert-v00@openssh.com
HostKeyAlias Menentukan alias yang harus digunakan sebagai ganti nama host asli saat mencari atau menyimpan kunci host di file database kunci host.
HostName Menentukan nama host asli untuk login. Ini dapat digunakan untuk menentukan nama panggilan atau singkatan untuk host. Defaultnya adalah nama yang diberikan pada baris perintah. Alamat IP numerik juga diizinkan (baik di baris perintah maupun dalam spesifikasi HostName).
IdentitiesOnly Menentukan bahwa ssh hanya boleh menggunakan kunci identitas yang dikonfigurasi dalam ssh_configfile, bahkan jika ssh-agent menawarkan lebih banyak identitas.
IdentityFile Menentukan file tempat kunci identitas pengguna dibaca saat menggunakan autentikasi kunci publik . Standar untuk protokol versi 1 adalah ~/.ssh/identity; dan ~/.ssh/id_rsaatau ~/.ssh/id_dsauntuk protokol versi 2.
KbdInteractiveAuthentication Menentukan apakah akan menggunakan autentikasi keyboard-interaktif. Ini adalah metode umum untuk otentikasi kata sandi, kata sandi satu kali, dan otentikasi multi-faktor.
KbdInteractiveDevices Menentukan daftar metode yang akan digunakan dalam autentikasi keyboard-interaktif.
LocalCommand Menentukan perintah untuk dijalankan pada mesin lokal setelah berhasil terhubung ke server.
LocalForward Menentukan bahwa port TCP pada mesin lokal diteruskan melalui saluran aman ke host dan port tertentu dari mesin jarak jauh. Argumen pertama harus [bind_address:]portdan argumen kedua harus host:port.
LogLevel Menentukan tingkat verbositas pesan logging dari ssh. Nilai yang mungkin adalah: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, dan DEBUG3.
MACs Menentukan algoritma MAC (kode otentikasi pesan) dalam urutan preferensi. The ssh -Q macperintah dapat digunakan untuk permintaan algoritma MAC didukung. Daftar berikut ini didukung di OpenSSH 6.7:
hmac-sha1 hmac-sha1-96 hmac-sha2-256 hmac-sha2-512 hmac-md5 hmac-md5-96 hmac-ripemd160 hmac-ripemd160@openssh.com umac-64@openssh.com umac-128@openssh.com hmac-sha1-etm@openssh.com hmac-sha1-96-etm@openssh.com hmac-sha2-256-etm@openssh.com hmac-sha2-512-etm@openssh.com hmac-md5-etm@openssh.com hmac-md5-96-etm@openssh.com hmac-ripemd160-etm@openssh.com umac-64-etm@openssh.com umac-128-etm@openssh.com
NoHostAuthenticationForLocalhost Opsi ini dapat digunakan jika direktori home dibagikan di seluruh mesin. Dalam hal ini localhost akan merujuk ke mesin yang berbeda di setiap mesin dan pengguna akan mendapatkan banyak peringatan tentang kunci host yang diubah.
PreferredAuthentications Menentukan urutan di mana klien harus mencoba metode otentikasi protokol 2.
Protocol Menentukan versi protokol dalam urutan preferensi. Nilai yang mungkin adalah '1' dan '2'. Beberapa versi harus dipisahkan dengan koma. Penggunaan protokol versi 1 TIDAK DIREKOMENDASIKAN karena alasan keamanan. Ada alasan untuk percaya bahwa itu mungkin rentan terhadap serangan man-in-the-middle .
ProxyCommand Menentukan perintah yang akan digunakan untuk terhubung ke server. The SSH client berkomunikasi dengan perintah proxy menggunakan input standar dan output standar, dan perintah proxy yang harus melewati komunikasi ke SSH server .
PubkeyAuthentication Menentukan apakah akan mencoba autentikasi kunci publik menggunakan kunci SSH . Nilai yang valid adalah yesdan no. Ketika otentikasi kunci publik digunakan dalam lingkungan produksi, sistem manajemen kunci SSH yang tepat juga harus diterapkan.
RemoteForward Menentukan bahwa port TCP pada mesin jarak jauh diteruskan melalui saluran aman ke host dan port tertentu dari mesin lokal. Argumen pertama harus: [bind_address:]portdan argumen kedua harus host:port. Penerowongan SSH adalah alat yang ampuh, tetapi lihat pertimbangan keamanan di penerowongan SSH .
RhostsRSAAuthentication Menentukan apakah akan mencoba otentikasi berbasis rhosts dengan otentikasi host RSA. Ini hanya untuk protokol versi 1 dan tidak digunakan lagi.
RSAAuthentication Menentukan apakah akan mencoba autentikasi RSA. Ini hanya untuk protokol versi 1 dan tidak digunakan lagi.
SendEnv Menentukan variabel lingkungan apa yang harus dikirim ke server.
ServerAliveCountMax Menetapkan jumlah pesan keepalive yang mungkin dikirim oleh klien tanpa klien menerima pesan apa pun kembali dari server. Ketika ambang batas ini tercapai, klien akan mengakhiri sesi.
ServerAliveInterval Menentukan interval untuk mengirim pesan keepalive ke server. Pesan dikirim melalui saluran terenkripsi, dan berfungsi untuk mendeteksi apakah server mogok atau jaringan mati.
SmartcardDevice Menentukan perangkat smartcard mana yang akan digunakan.
StrictHostKeyChecking Menentukan apakah ssh tidak boleh secara otomatis menambahkan kunci host ke ~/.ssh/known_hostsfile, dan menolak untuk terhubung ke host yang kunci hostnya telah berubah.
TCPKeepAlive Menentukan apakah akan mengirim TCP keepalives ke sisi lain. Ini beroperasi pada tingkat protokol TCP. Mengirim keepalives membantu menutup soket dengan benar saat jaringan atau server mati. Di sisi lain, tanpa itu, koneksi mungkin tetap hidup dan jendela apa pun terbuka, bahkan jika jaringan mati untuk sementara waktu.
Tunnel Jika yes, minta tunpenerusan perangkat antara klien dan server. Ini digunakan untuk mengimplementasikan VPN melalui SSH.
TunnelDevice Menentukan perangkat tun untuk dibuka pada klien ( local_tun ) dan server ( remote_tun ).
UsePrivilegedPort Menentukan apakah akan menggunakan port yang diistimewakan untuk koneksi keluar atau tidak. Klien harus dijalankan sebagai root untuk menggunakan port yang diistimewakan. Sebuah port istimewa diperlukan untuk otentikasi berbasis host.
UserKnownHostsFile Menentukan file yang akan digunakan untuk basis data kunci host yang diketahui per pengguna, bukan default ~/.ssh/known_hosts.
VerifikasiHostKeyDNS Menentukan apakah akan memverifikasi kunci jarak jauh menggunakan catatan sumber daya DNS dan SSHFP .
VisualHostKey Menentukan apakah representasi seni ASCII dari sidik jari kunci host jarak jauh dicetak di samping string sidik jari hex saat login dan untuk kunci host yang tidak dikenal.