PENGERTIAN SSH
SSH
adalah aplikasi pengganti remote login seperti telnet, rsh, dan rlogin,
yang jauh lebih aman. Dikembangkan pertamakali oleh OpenBSD project dan
kemudian versi rilis p (port) di-manage oleh team porting ke sistem
operasi lainnya, termasuk sistem operasi Linux. Fungsi utama aplikasi
ini adalah untuk mengakses mesin secara remote. Bentuk akses remote yang
bisa diperoleh adalah akses pada mode teks maupun mode grafis/X apabila
konfigurasinya mengijinkan. scp yang merupakan anggota keluarga ssh
adalah aplikasi pengganti rcp yang aman, keluarga lainnya adalah sftp
yang dapat digunakan sebagai pengganti ftp.
Dengan SSH, semua percakapan antara server dan klien di-enkripsi.
Artinya, apabila percakapan tersebut disadap, penyadap tidak mungkin
memahami isinya. Bayangkan seandainya Anda sedang melakukan maintenance
server dari jauh, tentunya dengan account yang punya hak khusus, tanpa
setahu Anda, account dan password tersebut disadap orang lain, kemudian
server Anda diobrak-abrik setelahnya.
Ubuntu Server memperkenalkan koleksi yang kuat alat
untuk remote control dari komputer jaringan dan transfer data antara
komputer jaringan, yang disebut OpenSSH.
OpenSSH adalah versi bebas tersedia dari keluarga (SSH) protokol
Secure Shell alat untuk jauh mengendalikan komputer atau mentransfer
file antara komputer. Alat tradisional yang digunakan untuk mencapai
fungsi-fungsi, seperti telnet atau rcp, merasa tidak aman dan
mengirimkan password user dalam teks-jelas saat digunakan. OpenSSH
menyediakan daemon server dan alat klien untuk memfasilitasi aman,
remote control dienkripsi dan operasi file transfer, efektif
menggantikan alat warisan.
Komponen server OpenSSH, sshd, mendengarkan terus menerus selama
koneksi klien dari salah satu alat klien. Ketika permintaan koneksi
terjadi, sshd mendirikan sambungan yang benar tergantung pada jenis alat
menghubungkan klien. Sebagai contoh, jika komputer remote menghubungkan
dengan aplikasi ssh klien, server OpenSSH membuat sebuah sesi remote
control setelah otentikasi. Jika remote user terhubung ke server OpenSSH
dengan scp, daemon OpenSSH server memulai salinan aman file antara
server dan klien setelah otentikasi. OpenSSH dapat menggunakan metode
otentikasi, termasuk kata sandi polos, kunci publik, dan tiket Kerberos.
PENGUNAAN SSH
SSH
adalah sebuah protokol yang dapat digunakan untuk berbagai aplikasi.
Beberapa aplikasi di bawah ini mungkin membutuhkan fitur-fitur yang
hanya tersedia atau yang kompatibel dengan klien atau server SSH yang
spesifik. Sebagai contoh, menggunakan protokol SSH untuk
mengimplementasikan VPN adalah dimungkinkan, tapi sekarang hanya dapat
dengan implementasi server dan klien OpenSSH.
- untuk login ke shell pada remote host (menggantikan Telnet dan rlogin)
- untuk mengeksekusi satu perintah pada remote host (menggantikan rsh)
- untuk menyalin file dari server lokal ke remote host. Lihat SCP, sebagai alternatif untuk rcp
- dalam kombinasi dengan SFTP, sebagai alternatif yang aman untuk FTP transfer file
- dalam kombinasi dengan rsync untuk mem-backup, menyalin dan me-mirror file secara efisien dan aman
- untuk port forwarding atau tunneling
port (jangan dikelirukan dengan VPN yang rute paket antara jaringan yang
berbeda atau menyambung dua wilayah broadcast menjadi satu)
- untuk digunakan sebagai VPN yang terenkripsi penuh. Perhatikan bahwa hanya OpenSSH server dan klien yang mendukung fitur ini
- untuk meneruskan X11 melalui beberapa host
- untuk browsing web melalui koneksi proxy yang dienkripsi dengan klien SSH yang mendukung protokol SOCKS
- untuk mengamankan mounting direktori di server remote sebagai sebuah sistem file di komputer lokal dengan menggunakan SSHFS
- untuk mengotomasi remote monitoring dan pengelolaan server melalui satu atau lebih dari mekanisme seperti yang dibahas di atas
INSTALASI SSH
Instalasi dari aplikasi client dan server OpenSSH sederhana. Untuk
menginstal aplikasi client OpenSSH pada sistem Ubuntu Anda, gunakan
perintah ini di prompt terminal:
sudo apt-get install openssh-client
Untuk menginstal aplikasi server OpenSSH, dan file dukungan terkait, gunakan perintah ini di prompt terminal
sudo apt-get install openssh-server
Paket openssh-server juga dapat dipilih untuk menginstal selama proses instalasi Server Edition.
Kemudian kita coba ssh dengan teman kita
KONFIGURASI
Anda dapat mengkonfigurasi perilaku default dari aplikasi OpenSSH
server, sshd, dengan mengedit file / etc / ssh / sshd_config. Untuk
informasi tentang perintah konfigurasi yang digunakan dalam file ini,
Anda dapat melihat halaman manual yang sesuai dengan perintah berikut,
yang dikeluarkan di prompt terminal:
man sshd_config
Ada banyak petunjuk di file konfigurasi sshd
mengendalikan hal-hal seperti pengaturan komunikasi dan mode otentikasi.
Berikut ini adalah contoh dari perintah konfigurasi yang dapat diubah
dengan mengedit / etc / ssh / file sshd_config.
Sebelum mengedit file konfigurasi, Anda harus membuat
salinan dari file asli dan melindunginya dari menulis sehingga Anda akan
memiliki pengaturan awal sebagai referensi dan untuk menggunakan
kembali sesuai kebutuhan.
Copy / etc / ssh / sshd_config berkas dan melindunginya dari menulis dengan perintah berikut, dikeluarkan pada prompt terminal:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original
sudo chmod a-w /etc/ssh/sshd_config.original
Berikut ini adalah contoh dari perintah konfigurasi Anda dapat mengubah:
* Untuk mengatur OpenSSH Anda untuk mendengarkan pada port TCP 2222
bukan default TCP port 22, mengubah direktif port seperti: port 2222
* Untuk sshd telah memungkinkan kunci publik berbasis login, cukup menambahkan atau memodifikasi baris:
PubkeyAuthentication yes
Pada file / etc / ssh / sshd_config, atau jika sudah ada, pastikan baris tidak dibuat sebagai komentar.
* Untuk membuat OpenSSH server Anda menampilkan isi dari file / etc /
issue.net sebagai sebuah spanduk pra-login, cukup menambahkan atau
memodifikasi baris:
Banner / etc / issue.net
Pada file / etc / ssh / sshd_config.
Setelah membuat perubahan pada / etc / ssh / sshd_config berkas,
menyimpan file, dan restart aplikasi server sshd untuk efek perubahan
dengan menggunakan perintah berikut di terminal prompt:
sudo /etc/init.d/ssh restart
Banyak perintah konfigurasi yang lain untuk sshd yang
tersedia untuk mengubah perilaku aplikasi server sesuai dengan kebutuhan
anda. Maklum, namun, jika metode satu-satunya akses ke server adalah
ssh, dan Anda membuat kesalahan dalam mengkonfigurasi sshd melalui file /
etc / ssh / sshd_config, Anda mungkin menemukan Anda terkunci dari
server setelah restart itu, atau bahwa server sshd menolak untuk memulai
karena adanya direktif konfigurasi yang salah, jadi ekstra hati-hati
saat mengedit file ini di server jauh.
SSH Keys
SSH keys memungkinkan otentikasi antara dua host tanpa memerlukan
password. SSH otentikasi key menggunakan dua keys privat keys dan key
publik.
Untuk membangkitkan keys, dari terminal prompt masukkan:
ssh-keygen -t dsa
Ini akan menghasilkan keys menggunakan identitas DSA
otentikasi pengguna. Selama proses tersebut Anda akan diminta untuk
password. Cukup tekan Enter saat diminta untuk membuat kunci.
Secara default kunci publik disimpan dalam file ~ / .ssh /
id_dsa.pub, sementara ~ / .ssh / id_dsa adalah private key. Sekarang
salin file id_dsa.pub ke host remote dan tambahkan ke ~ / .ssh /
authorized_keys dengan memasukkan:
ssh-copy-id pc-34@192.168.40.10

Akhirnya, periksa hak akses pada file authorized_keys, hanya user
terotentikasi seharusnya membaca dan menulis perizinan. Jika hak akses
yang tidak benar mengubahnya dengan:
chmod 600 .ssh/authorized_keys
SSHOpenSSHPortforwarding
Port forwarding atau port mapping pengalihan (redirection) koneksi
dari suatu IP:Port ke IP:Port yang lain. Ini artinya adalah semua
koneksi yang ditujukan ke IP:Port asal akan dialihkan ke IP:Port tujuan
seolah-olah client sedang menghubungi IP:Port tujuan secara langsung.
Portforwarding melalui SSH ( SSH tunneling )
membuat sambungan aman antara komputer lokal dan remote machine melalui
layanan yang dapat disampaikan. Karena sambungan terenkripsi, SSH
tunneling berguna untuk transmisi informasi yang menggunakan protokol
terenkripsi, seperti IMAP, VNC, atau IRC.
Jenis Port Forwarding
Pelabuhan
fitur forwarding SSH bisa menyelundupkan berbagai jenis lalu lintas
Internet ke dalam atau keluar dari jaringan. Ini dapat digunakan untuk
menghindari monitoring jaringan atau sniffers, atau bypass router
dikonfigurasi di Internet. Catatan: Anda juga mungkin perlu mengubah
pengaturan dalam program lain (seperti web browser) untuk menghindari
filter ini.
Peringatan :
Menyaring
dan memantau biasanya diimplementasikan karena suatu alasan. Bahkan
jika Anda tidak setuju dengan alasan itu, departemen TI Anda mungkin
tidak akan bersikap baik kepada Anda mencemoohkan aturan mereka.
Ada tiga jenis port forwarding dengan SSH:
- Port forwarding lokal : koneksi dari klien SSH akan diteruskan melalui server SSH , maka ke server tujuan
- Port forwarding remote : koneksi dari server SSH akan diteruskan melalui klien SSH , maka ke server tujuan
- Port forwarding dinamis : koneksi dari berbagai program akan diteruskan melalui klien SSH , maka melalui server SSH, dan akhirnya ke server tujuan beberapa
Port
forwarding lokal adalah jenis yang paling umum. Sebagai contoh, port
forwarding lokal memungkinkan Anda melewati firewall perusahaan yang
menghalangi Wikipedia.
Pada local port forwarding, komputer yang bertindak sebagai ssh
client akan menjadi titik masuk koneksi yang akan diforward dan komputer
yang bertindak sebagai ssh server menjadi titik keluar. Jadi koneksi
yang masuk ke titik masuk di komputer ssh client akan diforward ke
tujuan dari komputer ssh server. Gambar di bawah ini ilustrasi lain dari
ssh local port forwarding.
Port
forwarding remote kurang umum. Sebagai contoh, port forwarding jauh
memungkinkan Anda terhubung dari server SSH ke komputer di intranet
perusahaan Anda.
Pada remote port forwarding, komputer yang bertindak sebagai ssh
server akan menjadi titik masuk koneksi yang akan diforward dan komputer
yang bertindak sebagai ssh client menjadi titik keluar. Jadi koneksi
yang masuk ke titik masuk di komputer ssh server akan diforward ke
tujuan dari komputer ssh client. Gambar di bawah ini ilustrasi lain dari
ssh remote port forwarding.

Jadi yang perlu diingat dalam perbedaan antara local dan remote port
forwarding adalah posisi titik masuk koneksi yang akan diforward. Bila
titik masuknya ada di komputer yang berperan sebagai ssh client, maka
itu adalah local port forwarding, namun bila titik masuknya di komputer
ssh server, maka itu adalah remote port forwarding.
Dalam bahasa sederhananya, disebut local karena dari sudut pandang
ssh client, titik masuknya ada di localhost, dan disebut remote karena
titik masuknya bukan di localhost, tapi di komputer ujung sana.
Port
forwarding dinamis jarang digunakan. Sebagai contoh, port forwarding
dinamis memungkinkan Anda melewati firewall perusahaan yang menghalangi
akses web sama sekali. Meskipun ini sangat kuat, dibutuhkan banyak
pekerjaan yang harus diatur, dan itu biasanya lebih mudah untuk
menggunakan port forwarding lokal untuk situs tertentu yang ingin Anda
akses.
Port-forwarding
adalah teknik luas didukung dan fitur yang ditemukan di semua klien
utama SSH dan server, meskipun tidak semua klien melakukannya dengan
cara yang sama. Untuk bantuan tentang cara menggunakan klien tertentu,
lihat dokumentasi klien. Sebagai contoh, manual Putty memiliki bagian
port forwarding di putty.
Untuk
menggunakan port forwarding, Anda perlu memastikan port forwarding
diaktifkan di server anda.Anda juga perlu memberitahu klien Anda sumber
dan tujuan nomor port untuk digunakan. Jika Anda menggunakan forwarding lokal atau remote, Anda perlu memberitahu klien Anda dengan server tujuan . Jika
Anda menggunakan port forwarding dinamis, Anda perlu mengkonfigurasi
program Anda untuk menggunakan server SOCKS proxy. Sekali lagi,
bagaimana untuk melakukan hal ini tergantung pada klien SSH yang Anda
gunakan, sehingga Anda mungkin perlu berkonsultasi dokumentasi Anda.
Lokal Port Forwarding
Port forwarding lokal memungkinkan Anda menghubungkan Anda dari lokal komputer
ke server lain. Untuk menggunakan port forwarding lokal, Anda perlu
mengetahui server tujuan Anda, dan dua nomor port. Anda sudah harus tahu
server tujuan Anda, dan untuk keperluan dasar port forwarding, Anda
biasanya dapat menggunakan nomor port di Wikipedia daftar TCP dan UDP
nomor port.
Sebagai contoh, katakanlah anda ingin terhubung dari laptop ke http://www.google.com menggunakan sebuah terowongan SSH. Anda akan menggunakan sumber nomor port 8080 (yang alternatif http port), port tujuan 80 (yang http port), dan tujuan server yang http://www.google.com.
ssh -L 8080:www.google.com:80 Hais@192.168.40.5

Dimana
harus diganti dengan nama
laptop Anda . The
L- pilihan menentukan
lokal port forwarding. Untuk durasi sesi SSH, mengarahkan browser Anda di
http://localhost:8080/

akan mengirim Anda untuk
http://www.google.com.

Dalam contoh di atas, kita menggunakan port
8080 untuk port sumber. Pelabuhan angka kurang dari
1024 atau lebih besar dari
49151 dicadangkan
untuk sistem, dan beberapa program hanya akan bekerja dengan port
sumber tertentu, tetapi jika tidak, anda dapat menggunakan nomor port
sumber. Misalnya, Anda bisa melakukan:
ssh -L 8080:www.google.com:80 -L 12345:google.com:80
pc-44@192.168.40.22

Ini ke depan akan dua koneksi, satu untuk
http://www.google.com , yang lain untuk
http://www.google.com. Mengarahkan browser Anda di
http://localhost:8080/ akan men-download halaman dari
http://www.google.com , dan mengarahkan browser Anda ke
http://localhost:12345/ akan men-download halaman dari
http://www.google.com
Server tujuan bahkan bisa sama sebagai server SSH. Misalnya, Anda bisa melakukan:
ssh-L 5900: localhost: 5900
Hal ini akan meneruskan koneksi ke desktop yang berbagi pada server
SSH Anda (jika telah dibentuk). Menghubungkan klien SSH untuk
localhost Port
5900 akan
menunjukkan desktop untuk komputer tersebut. Kata “localhost” sama
komputer dari kata “diri”, sehingga server SSH pada laptop Anda akan
mengerti apa maksudmu, apa pun nama sebenarnya komputer.
Remote Port Forwarding
Port forwarding remote memungkinkan Anda menghubungkan dari
jarak jauh SSH
server ke server lain. Untuk menggunakan port forwarding jauh, Anda
perlu mengetahui server tujuan Anda, dan dua nomor port. Anda sudah
harus tahu server tujuan Anda, dan untuk keperluan dasar port
forwarding, Anda biasanya dapat menggunakan nomor port di Wikipedia
daftar TCP dan UDP nomor port.
Sebagai contoh, katakanlah Anda ingin memberitahu teman mengakses
remote desktop Anda, menggunakan klien baris perintah SSH. Anda akan
menggunakan nomor port
5900 (yang pertama
VNC port), dan tujuan Server
localhost :
ssh-R 5900: localhost: 5900 pc-44@192.168.40.22
The
-R menspesifikasikan
terpencil port
forwarding. Untuk durasi sesi SSH, Joe akan dapat mengakses desktop Anda
dengan menghubungkan klien VNC ke port 5900 di komputer (jika Anda
telah mendirikan sebuah desktop bersama-sama).
Dinamis Port Forwarding
Port forwarding dinamis ternyata klien SSH Anda menjadi
server proxy SOCKS .
SOCKS adalah protokol sedikit diketahui tapi secara luas diterapkan untuk program untuk meminta koneksi Internet melalui
proxy server . Setiap
program yang menggunakan proxy server harus dikonfigurasi secara
khusus, dan ulang ketika Anda berhenti menggunakan server proxy.
Sebagai contoh, katakanlah Anda ingin Firefox untuk terhubung ke
setiap halaman web melalui server SSH Anda. Pertama Anda akan
menggunakan port forwarding dinamis dengan port default SOCKS:
ssh-C-D 1080 laptop
The
-D pilihan menentukan
dinamis port forwarding.
1080 adalah
port SOCKS standar. Meskipun Anda dapat menggunakan nomor port,
beberapa program hanya akan bekerja jika Anda menggunakan
1080 .
-C memungkinkan
kompresi, yang mempercepat terowongan sampai saat informasi terutama
berbasis teks proxy (seperti web browsing), tetapi dapat memperlambatnya
ketika informasi biner proxy (seperti men-download file).
Selanjutnya Anda akan memberitahu Firefox untuk menggunakan proxy Anda:
- pergi ke Edit -> Preferences -> Advanced -> Network -> Connection -> Pengaturan …
- cek “Manual proxy configuration”
- pastikan “Gunakan server proxy untuk semua protokol” akan dihapus
- jelas “HTTP Proxy”, “proxy SSL”, “proxy FTP”, dan “Gopher Proxy” bidang
- masukkan “127.0.0.1″ untuk “Host SOCKS”
- masukkan “1080 ‘(atau apa pun port yang Anda pilih) ke Port.
Anda juga dapat mengatur Firefox untuk menggunakan DNS melalui proxy yang, bahkan lookup DNS Anda aman:
- Ketik about: config di address bar Firefox
- Cari kunci yang disebut “network.proxy.socks_remote_dns” dan set ke true
Proxy SOCKS akan berhenti bekerja ketika Anda menutup sesi SSH
Anda. Anda harus mengubah pengaturan kembali normal agar Firefox bekerja
lagi.
Untuk membuat program lain menggunakan proxy server SSH Anda, Anda
akan perlu mengkonfigurasi setiap program dengan cara yang sama.
Forwarding Program GUI
SSH juga dapat meneruskan aplikasi grafis melalui jaringan, meskipun
dapat mengambil beberapa perangkat lunak kerja dan tambahan untuk
meneruskan program untuk Windows atau Mac OS.
Aplikasi tunggal
Jika anda login dari sistem operasi mirip Unix, Anda dapat meneruskan
aplikasi tunggal melalui SSH sangat mudah, karena semua Unix-seperti
sistem berbagi lapisan grafis umum yang disebut X11. Ini bahkan bekerja
pada Mac OS X, meskipun Anda akan perlu menginstal dan memulai server
X11 sebelum menggunakan SSH.
Untuk meneruskan aplikasi tunggal, terhubung ke sistem anda dengan menggunakan baris perintah, tetapi menambahkan
-Xpilihan untuk koneksi ke depan X11:
Setelah sambungan dibuat, ketik nama program GUI Anda pada SSH baris perintah: firefox &
Program Anda akan mulai seperti biasa, meskipun Anda mungkin
menemukan itu sedikit lebih lambat dari itu akan jika hal itu berjalan
secara lokal. Trailing
& berarti bahwa program ini harus
dijalankan dalam mode “latar belakang”, sehingga Anda dapat mulai
mengetik perintah baru dalam langsung, daripada menunggu program anda
selesai.
Jika Anda hanya ingin menjalankan satu perintah, Anda dapat log in seperti ini:
ssh-f-T-X laptop firefox
Yang akan menjalankan Firefox, kemudian keluar ketika selesai. Lihat halaman manual SSH untuk informasi tentang
-f dan
-T .
Jika Anda menjalankan aplikasi dan mengeluh bahwa ia tidak dapat menemukan layar, mencoba menginstal
xauth paket dari repositori utama (
klik disini untuk install xauth ). Xauth terinstal secara default dengan instalasi desktop, tetapi tidak instalasi server.
Jika Anda menduga bahwa program berjalan lambat karena kurangnya bandwidth, Anda dapat mengaktifkan kompresi SSH pada dengan
C- opsi:
ssh-fTXC joe @ laptop firefox