Cara aman ssh ke mesin di rumah melalui internet

8

Saya akan bepergian sebentar lagi, dan saya memiliki mesin yang menjalankan menjalankan banyak pekerjaan cron dll. Saya perlu login jarak jauh untuk memeriksa hasil dari pekerjaan yang dijalankan dan untuk melakukan beberapa pekerjaan pada mesin.

Berikut adalah fakta yang menonjol:

  1. Mesin yang akan dihubungkan (Motherhip) menjalankan Ubuntu 14.0.4 LTS
  2. Motherhip ini terhubung ke internet melalui LAN di rumah, sehingga memiliki alamat IP publik.
  3. Alamat IP ditetapkan secara dinamis.
  4. Saya akan menghubungkan ke induk menggunakan Laptop menjalankan Ubuntu 15.10

Saya lebih suka menggunakan ssh daripada VNC, karena masalah bandwidth - plus, yang saya butuhkan hanyalah baris perintah.

Apa cara terbaik untuk terhubung dengan aman dari jarak jauh ke mesin saya?

Homunculus Reticulli
sumber
SSH aman. Apa masalahmu?
Mostafa Ahangarha
VNC adalah remote control grafis. Apakah maksud Anda VPN?
TheWanderer
@ ahtraf, saya mengerti. Saya mengirim suara persetujuan
TheWanderer
Baca saja panduan yang bagus, ada bagian yang lebih baik yang didedikasikan untuk ssh di luar sana. Dan nonaktifkan login kata sandi!
Braiam
Dari obrolan, saya melihat Anda memikirkan otentikasi dengan frasa sandi, bukan kata sandi. Apa yang mungkin Anda lihat adalah untuk mengizinkan otentikasi pribadi / kunci publik saja.
Oliphaunt - mengembalikan Monica

Jawaban:

14

Taruhan terbaik Anda mungkin menjalankan server SSH pada port non-default, seperti 2020. Ini mencegah sebagian besar upaya serangan brute force dari web, karena bot ini cenderung hanya melihat pada port default.

Anda juga perlu menetapkan alamat IP statis pada server, karena server harus dapat diakses setiap saat. Anda dapat mengatur ini System Settings --> Network. Untuk mencegah konflik alamat IP, sebaiknya Anda memberi tahu server DHCP Anda (router dalam kebanyakan kasus) bahwa alamat IP ini diambil. Metode ini bervariasi berdasarkan model, tetapi harus ada area di suatu tempat dalam konfigurasi router yang memungkinkan Anda memesan alamat IP.

Alasan untuk IP statis adalah bahwa Anda perlu mengatur port forwarding di pengaturan router Anda. Ini memungkinkan koneksi dari port ke IP eksternal Anda untuk dialihkan ke port itu di server Anda.

Jika alamat IP publik Anda adalah dinamis, yang mungkin itu, Anda akan ingin mengatur semacam layanan DNS dinamis. Rekomendasi saya untuk layanan ini adalah No-IP . Ini memberi Anda sub-domain gratis yang selalu menunjuk ke IP publik Anda. Pengaturan ini memang membutuhkan instalasi program pada mesin yang selalu aktif di LAN Anda (disebut DUC, disediakan oleh No-IP).

Setelah Anda mengatur server SSH seperti yang Anda inginkan, SSH melakukannya dengan memasukkan

ssh user@remotehostip -p XXX

atau dengan menggunakan klien SSH / SFTP apa pun yang Anda inginkan.

Jika ada bagian ini yang membutuhkan instruksi lebih detail, komentari dan saya akan menambahkannya.

Jika ada orang lain yang kesulitan mengikuti, berikut adalah ruang obrolan yang memiliki langkah-langkah lebih lanjut / lebih rinci: http://chat.stackexchange.com/rooms/37251/discussion-between-homunculus-reticulli-and-zacharee1

Petualang
sumber
+1 Terima kasih @ Zacharee1 untuk respons yang cepat. Saya telah mendaftarkan domain untuk tujuan saya, menggunakan no-ip. Saya telah mengikuti semua langkah. Langkah terakhir adalah di mana saya bingung: menyiapkan router untuk penerusan porta. Saya bisa melakukannya dengan bantuan di bidang ini jika memungkinkan. Terima kasih
Homunculus Reticulli
@HomunculusReticulli Apa model router Anda?
TheWanderer
Juga, saya tidak bisa melihat di mana / bagaimana cara menetapkan alamat IP statis. Saya menggunakan Ubuntu Trusty Tahir
Homunculus Reticulli
1
Tidak ada IP di sana karena Anda memiliki alamat eksternal yang dinamis
TheWanderer
1
@BharadwajRaju itu bukan sesuatu yang bisa saya jelaskan dalam komentar. Cari cara mengatur komputer Ubuntu sebagai router, dan Anda akan menemukan sesuatu
TheWanderer
1

Selain jawaban Zacharee1, Anda harus menginstal Fail2ban atau DenyHosts (dapatkan .deb dari repo Precise). Anda tidak boleh mengautentikasi dengan kunci jika Anda bepergian. Gunakan kata sandi "aman" juga. Mungkin mengatur akun pengguna khusus dengan akses terbatas untuk saat-saat Anda tidak perlu menjadi admin.

Saya tidak akan menyentuh pengaturan jaringan pada Server, IP statis dapat ditugaskan dari router. Alamat ip router harus menjadi alamat "gateway" yang ditetapkan dalam DHCP. Dalam kasus di mana bukan (!) Alamat default harus ditulis di bawahnya di suatu tempat. Jika Anda telah mengubah ini, Anda seharusnya membiarkan nilai terakhir saja. Jadi, jika Anda memiliki jaringan rumah kelas C, alamatnya akan abcx di mana abc cocok dengan semua alamat ip Anda lainnya dan x adalah nilai tambahan dari stiker router Anda. ISP harus memiliki halaman bantuan untuk itu dalam hal apa pun.

Saat Anda menggunakan port non-standar, hindari '22' sebagai digit terakhir (8122, katakanlah). Itu meninggalkan petunjuk.

NB. Anda dapat mengakses aplikasi berbasis X melalui SSH tanpa VNC, topik lain sepenuhnya.

mckenzm
sumber
dapatkah Anda menjelaskan komentar Anda: "Anda tidak boleh mengotentikasi dengan kunci jika Anda bepergian.", ini bertentangan dengan semua yang saya baca sejauh ini. Apa alasan di balik Anda mengatakan itu?
Homunculus Reticulli
Mengapa orang tidak mengautentikasi dengan kunci saat bepergian ? Otentikasi tidak peduli apakah Anda bepergian atau tidak.
UniversallyUniqueID
Anda belum melewati batas akhir-akhir ini? Tidak pernah kehilangan telepon? Kunci Anda akan dibagikan. Hal yang sama berlaku untuk sertifikat. Instal satu di mesin warnet dengan risiko Anda. Kunci memberikan akses instan tanpa kata sandi, klien harus diamankan, bukan di saku belakang Anda.
mckenzm