Secure Shell Protocol (SSH) adalah protokol jaringan terenkripsi yang memungkinkan mengendalikan perangkat dari jarak jauh melalui jaringan tidak aman seperti internet. Mengingat salah satu fungsi SSH adalah untuk terhubung ke komputer dari jarak jauh (umumnya peladen) melalui internet, maka memperkuat SSH merupakan hal penting yang perlu dilakukan, terlebih jika koneksi SSH digunakan untuk mengakses komputer melalui jaringan internet yang tidak aman. SSH didesain untuk sistem operasi Unix-like sehingga SSH tidak didukung secara native di keluarga sistem operasi lain seperti Windows.
Mengutip dari salah satu jawaban di AskUbuntu, SSH sangat pilih-pilih terhadap permisi folder .ssh dan file authorized_keys.
sudo chown -R username:username /home/username/.ssh
sudo chmod 0700 /home/username/.ssh
sudo chmod 0600 /home/username/.ssh/authorized_keys
Dari manual ssh-copy-id:
NAME
ssh-copy-id β use locally available keys to authorise logins on a remote machine
SYNOPSIS
ssh-copy-id [-f] [-n] [-s] [-i [identity_file]] [-p port] [-o ssh_option] [user@]hostname
ssh-copy-id -h | -?
DESCRIPTION
ssh-copy-id is a script that uses ssh(1) to log into a remote machine (presumably using a login password, so password authentication should be enabled, unless you've done some
clever use of multiple identities). It assembles a list of one or more fingerprints (as described below) and tries to log in with each key, to see if any of them are already inβ
stalled (of course, if you are not using ssh-agent(1) this may result in you being repeatedly prompted for pass-phrases). It then assembles a list of those that failed to log
in, and using ssh, enables logins with those keys on the remote server. By default it adds the keys by appending them to the remote user's ~/.ssh/authorized_keys (creating the
file, and directory, if necessary). It is also capable of detecting if the remote system is a NetScreen, and using its βset ssh pka-dsa key ...β command instead.
Skrip ini menginstal kunci SSH pada server sebagai kunci resmi. Tujuannya adalah untuk menyediakan akses tanpa memerlukan kata sandi untuk setiap login. Hal ini memfasilitasi login otomatis tanpa kata sandi dan sistem masuk tunggal menggunakan protokol SSH.
ssh-copy-id -i ~/.ssh/mykey user@host
Secure Shell (SSH) Tunnel terdiri dari sebuah “terowongan” terenkripsi yang dibuat melalui koneksi protokol SSH. Pengguna dapat mengatur terowongan SSH untuk mentransfer lalu lintas yang tidak dienkripsi melalui jaringan melalui saluran terenkripsi. ssh -N -L 8080:127.0.0.1:destinationport username@hostname
Lebih lanjut: SFTP
SFTP merupakan alat yang memungkinkan transfer file melalui protokol SSH. Ini merupakan ekstensi dari protokol SSH dan dianggap sebagai penerus dari FTP/FTPS karena beberapa kelebihan dari segi keamanan dibandingkan FTP dan FTPS.
Beberapa kelebihan SFTP dibandingkan FTP/FTPS:
Umumnya untuk terhubung ke peladen jarak jauh melalui SSH, kita perlu mengetikkan seperti ssh [username]@[hostname/ip address]. Untuk menghemat waktu, alias SSH bisa digunakan.
nano ~/.ssh/config
Host [name
Hostname [ssh hostname/ip]
Port [port]
User [ssh username]