Bagaimana saya bisa mengatur SSH sehingga dibatasi untuk jaringan lokal saya?

33

Saya mencoba menghubungkan laptop baru saya yang berjalan 11,10 ke laptop lama saya yang menjalankan 8.04 melalui router saya menggunakan SSH.

Pertanyaan ini ditanyakan dan dijawab di ubuntuforums di sini:

http://ubuntuforums.org/showthread.php?t=1648965

Saya pikir akan sangat membantu jika memiliki jawaban yang lebih pasti di sini.

Catatan: Saya harus menginstal openssh-server terlebih dahulu pada laptop yang saya coba sambungkan dan membuka port SSH di firewall saya menggunakan firestarter.

Klenwell
sumber
dapatkah Anda memberi tahu kami apa yang tidak cukup "pasti" tentang jawaban slooow di utas itu? Kalau tidak, pertanyaan Anda tampaknya ambigu.
d_inevitable
@d_inevitable Untuk satu, itu bukan satu-satunya jawaban dan itu tidak dinyatakan sebagai yang benar. Itu yang akan saya pilih, tetapi inilah mengapa saya pikir akan berguna untuk memigrasi pertanyaan ini. Mungkin juga membantu memasukkan arahan umum, atau tautan yang membantu, dalam mengonfigurasi SSH antara dua mesin lokal.
klenwell

Jawaban:

46

Anda dapat membatasi akses ke server ssh Anda dengan banyak cara.

IMO yang paling penting adalah menggunakan kunci ssh dan menonaktifkan otentikasi kata sandi.

Lihat halaman wiki berikut untuk detailnya

https://help.ubuntu.com/community/SSH/OpenSSH/Keys

https://help.ubuntu.com/community/SSH/OpenSSH/Configuring#Disable_Password_Authentication

Anda dapat membatasi akses ke subnet tertentu dengan beberapa cara. Saya akan menganggap server ssh Anda ada di subnet 192.168.0.0/16 dengan alamat ip 192.168.0.10, sesuaikan;)

Router

Satu garis pertahanan adalah menggunakan router. Pastikan untuk menonaktifkan UPnP dan jangan izinkan port forwarding.

Konfigurasi SSH

Anda dapat mengatur beberapa opsi di /etc/ssh/sshd_config. Salah satunya adalah alamat dengarkan. Jika Anda menetapkan alamat mendengarkan pada subnet Anda. Alamat ip pribadi tidak dapat dirutekan melalui internet.

http://compnetworking.about.com/od/workingwithipaddresses/f/privateipaddr.htm

ListenAddress 192.168.0.10

Anda juga dapat menggunakan AllowUsers

AllowUsers [email protected]/16

Agak terkait, Anda juga dapat mengubah port

Port 1234

Lihat http://manpages.ubuntu.com/manpages/precise/man5/sshd_config.5.html

Bungkus TCP

Seperti yang dijelaskan pada posting forum, Anda dapat menggunakan TCP Wrapper. TCP wrapper menggunakan 2 file, /etc/hosts.allowdan/etc/hosts.deny

Edit /etc/hosts.allowdan tambahkan subnet Anda

sshd : 192.168.0.

Edit /etc/hosts.deny, dan tolak semua

ALL : ALL

Lihat juga http://ubuntu-tutorials.com/2007/09/02/network-security-with-tcpwrappers-hostsallow-and-hostsdeny/

Firewall

Terakhir Anda bisa firewall server Anda. Anda dapat menggunakan iptables, ufw, atau gufw.

iptables

sudo iptables -I INPUT -p tcp --dport 22 -s 192.168.0.0/16 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j REJECT

Harap jangan menggunakan DROP di iptables, lihat http://www.chiark.greenend.org.uk/~peterb/network/drop-vs-reject

Uhw

sudo ufw allow from 192.168.0.0/16 to any port 22

gufw memiliki antarmuka grafis

GUFW

Lihat https://help.ubuntu.com/community/UFW

https://help.ubuntu.com/community/IptablesHowTo

Harimau kumbang
sumber
Beberapa jaringan menggunakan 10.0.0.0 sebagai alamat IP, dalam hal ini gantikan 192.168.0.0/24 untuk 10.0.0.0/8 untuk memungkinkan kisaran 10.0.0.0-10.255.255.255. Jika Anda ingin mengizinkan satu IP saja, gunakan sesuatu seperti 192.168.1.2/32. Penjelasan yang sangat jelas dapat ditemukan di [ serverfault.com/q/49765/51929)(Bagaimana cara Kerja Subnetting?)
Lekensteyn
1
Tolong jangan gunakan DROP di iptables - Lihat chiark.greenend.org.uk/~peterb/network/drop-vs-reject
Panther
Halaman itu tidak menyebutkan IP palsu sebagai alasan yang memungkinkan untuk menggunakan DROP lebih dari TOLAK. Jawaban ini pada Sec.SE menjelaskan mengapa itu tidak benar-benar relevan (paket source lebih besar dari paket yang dikembalikan).
Lekensteyn
@Lekensteyn - Saya tidak melihat diskusi untuk IP palsu di tautan itu. Seperti yang Anda sarankan, DDoS dan IP palsu berada di luar diskusi ini dan saya tidak yakin DROP lebih unggul daripada MENOLAK untuk banyak hal. DDos itu kompleks dan tanpa informasi tentang penyebab DDos itu tidak mungkin dipertahankan. Sebagai contoh, saya telah melihat WP digunakan sebagai DDoS dan menyelesaikan masalah adalah konfigurasi WP yang tepat dan sedikit atau tidak ada hubungannya dengan iptables.
Panther
ListenAddresssepertinya solusi paling sederhana dan paling elegan
code_monk
1

ssh (secure shell) digunakan untuk mengakses dan mentransfer data dengan aman (digunakan pasangan RSA_KEYS). Anda dapat mengakses data menggunakan ssh dalam dua cara 1. Baris perintah 2. menggunakan browser file

Command Line: Untuk ini, Anda tidak perlu menginstal apa pun. Tugas pertama adalah masuk ke komputer lain.

ssh other_computer_username@other_computer_ip

Perintah ini akan meminta kata sandi yang merupakan kata sandi komputer lain (untuk nama pengguna tertentu). Anda baru saja masuk ke shell komputer lain. Pikirkan terminal ini seperti terminal shell komputer Anda. Anda dapat melakukan semuanya menggunakan shell ke komputer lain yang dapat Anda lakukan di komputer Anda

Browser file: Anda harus menginstal openssh-server

sudo apt-get install openssh-server

Untuk masuk, masuk ke file-> connectToServer

masukkan deskripsi gambar di sini

shantanu
sumber
Petunjuk baris perintah adalah hal pertama yang saya coba. Saya bisa melakukan ping ke komputer saya yang lain di IP LAN-nya. Tetapi ketika saya mencoba SSH, itu hang. Jadi saya menganggap saya harus mengkonfigurasi komputer saya yang lain untuk mengizinkan akses SSH terlebih dahulu.
klenwell
pastikan router Anda tidak memblokir 22 port atau ssh
shantanu
Terima kasih. Saya sudah tahu semua yang Anda sebutkan dari pengalaman, tetapi sangat mudah untuk mendengarnya sederhana dan terstruktur dari orang lain.
Danau