Sumber daya terbaik untuk membantu Anda mulai mengatur layanan ssh pada mesin Host menggunakan Ubuntu adalah OpenSSH Server . Ini akan memungkinkan Anda untuk menggunakan Protokol Transfer File SSH (juga Protokol Transfer File Aman, atau SFTP) untuk mengakses, mentransfer, dan mengelola file melalui SSH dari mesin Klien.
Ikhtisar Solusi
- Di Ubuntu Anda dapat mengatur sebuah
OpenSSH server
pada mesin Host dan kemudian pengguna dapat menggunakan ssh
untuk terhubung dari server Client ke Host hanya menggunakan nama pengguna dan kata sandi. Perhatikan, bagaimanapun, bahwa otentikasi kunci publik direkomendasikan,
"Pastikan Anda memiliki kata sandi yang kuat sebelum menginstal server SSH (Anda mungkin ingin menonaktifkan kata sandi sama sekali )"
- Akun Pengguna Administratif yang dibuat di Host akan memiliki hak sudo, Akun Pengguna Standar yang dibuat di Host tidak akan.
Instal dan konfigurasikan Server OpenSSH Anda pada Host
Untuk menginstal server OpenSSH di Host:
sudo apt-get install openssh-server
Berikan Host Anda alamat IP Statis sehingga Anda dapat terhubung dengan andal ke sana:
nm-connection-editor
Untuk mengkonfigurasi server OpenSSH Anda , "pertama, buat cadangan file sshd_config Anda dengan menyalinnya ke direktori home Anda, atau dengan membuat salinan read-only di / etc / ssh dengan melakukan:"
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.factory-defaults
sudo chmod a-w /etc/ssh/sshd_config.factory-defaults
"Setelah Anda membuat cadangan sshd_config
file Anda, Anda dapat membuat perubahan dengan editor teks apa pun, misalnya:"
sudo -H gedit /etc/ssh/sshd_config
Anda harus memulai kembali layanan ssh di Host agar perubahan ini diterapkan
sudo service ssh restart
Pertimbangkan Tindakan Keamanan Berikut
- Jangan aktifkan penerusan port pada router Anda: Ketika orang luar meminta router Anda untuk menghubungkan orang luar ke Port 22, dll., Router Anda gagal untuk memenuhi kecuali Anda telah mengaktifkan port-forwarding
- Nonaktifkan login root: Komentar keluar
PermitRootLogin without-password
; tambahkan PermitRootLogin no
ke Host/etc/ssh/sshd_config
- Pilih port SSH non-standar: Komentar keluar
Port 22
; tambahkan Port <new-port-number>
ke Host/etc/ssh/sshd_config
- Hanya izinkan koneksi lokal: Tambahkan
ListenAddress 192.168.0.10
- Izinkan pengguna tertentu pada port tertentu: Tambahkan
AllowUsers <username>@<IP_address_1> <username>@<IP_address_2>
atau AllowUsers <username>@111.222.333.*
ke Host/etc/ssh/sshd_config
- Hanya memperbolehkan koneksi kunci RSA (tanpa kata sandi): Menambahkan konten
~/.ssh/id_rsa.pub
dari setiap Klien sebagai baris baru Host ~/.ssh/authorized_keys
. Kemudian tambahkan PasswordAuthentication no
ke Host/etc/ssh/sshd_config
- Upaya cracking penyerang lambat: Gunakan ufw (firewall tidak rumit) pada Host untuk menilai batas koneksi masuk ke 10 / menit:
sudo apt-get install ufw && sudo ufw limit OpenSSH
- Untuk ide lainnya, lihat Menjaga Keamanan SSH Aman
Jika Anda merasa harus, Aktifkan PasswordAuthentication
dalam sshd_config
file Anda
Temukan baris dengan frasa PasswordAuthentication
dan buat itu dibaca:
PasswordAuthentication yes
Simpan sshd_config
file baru Anda dan mulai kembali layanan Host ssh
:
sudo service ssh restart
Jika Anda memerlukan akses dari mana saja melalui internet, Setup Port Forwarding pada router lokal Anda untuk mengarahkan lalu lintas ke server OpenSSH Anda
Perhatikan bahwa ssh
layanan Host port mendengarkan dalam sshd_config
file dan mengatur router Anda untuk meneruskan trafik TCP / UDP yang ditujukan pada port ini ke alamat IP server OpenSSH Anda.
Terhubung ke Host dan masuk melalui baris perintah atau terminal
Untuk membuka terminal shell SFTP seperti <username>
pada Host, buka Terminal pada Klien dan masukkan perintah berikut, ganti 123.123.1.23
dengan alamat IP Host:
sftp <username>@123.123.1.23
Jika Anda mengubah nomor port yang didukung server OpenSSH Host, lakukan:
sftp -P <port_number_in_Host's_sshd_config_file> <username>@123.123.1.23
Untuk membuka terminal shell SSH seperti <username>
pada Host, buka Terminal pada Klien dan masukkan perintah berikut, ganti 123.123.1.23
dengan alamat IP Host:
ssh <username>@123.123.1.23
Jika Anda mengubah nomor port yang didukung server OpenSSH Host, lakukan:
ssh -p <port_number_in_Host's_sshd_config_file> <username>@123.123.1.23
Sambungkan ke Host dan masuk melalui pengelola file GUI (misalnya, Nautilus) untuk akses SFTP yang lebih visual untuk memungkinkan transfer file
- Buka Nautilus di Klien
- Pilih File> Sambungkan ke Server
- Tipe:
SSH
- Server: Masukkan alamat IP Host
- Port: nomor port yang ditentukan dalam
sshd_config
file Host
- Nama pengguna: nama pengguna
- Kata sandi: kata sandi
Dalam 14,04:
- Buka Nautilus di Klien
- Sambungkan ke server
- Ketik: `ssh @ 123.123.1.23:
Buat Akun Pengguna Standar di Host dengan izin file terbatas di luar folder rumah mereka
Izin file yang tepat pada Host menjamin bahwa setiap pengguna standar (tanpa hak sudo) yang Anda buat di Host akan memiliki /home/new_user
direktori mereka tetapi memiliki izin terbatas dengan sisa struktur direktori.
- Izin terbatas tidak selalu berarti mereka tidak dapat melihat nama file dan struktur direktori.
Semoga bermanfaat!