- 1 1. Pengenalan
- 2 2. Konfigurasi SSH Asas
- 3 3. Enhancing SSH Security
- 4 Ringkasan
- 5 4. Konfigurasi SSH Lanjutan
- 6 Ringkasan
- 7 5. Penyelesaian Masalah SSH
- 8 Ringkasan
- 9 6. FAQ (Soalan Lazim)
- 9.1 6.1 Bagaimana Mencegah Pemutusan Sambungan SSH?
- 9.2 6.2 Apa yang Perlu Dilakukan Jika Saya Lupa Kata Laluan SSH Saya?
- 9.3 6.3 Bagaimana Menggunakan SSH pada Windows?
- 9.4 6.4 Bagaimana Menyediakan SSH dalam Ubuntu WSL (Windows Subsystem for Linux)?
- 9.5 6.5 Langkah Keselamatan Tambahan Apa yang Perlu Saya Ambil?
- 9.6 6.6 Bagaimana Memantau Log SSH secara Masa Nyata?
- 9.7 6.7 Bagaimana Menjadikan SSH Lebih Mudah Digunakan?
- 10 Ringkasan
- 11 Artikel Berkaitan
1. Pengenalan
Menyiapkan SSH pada Ubuntu adalah penting untuk mengurus pelayan jauh. SSH (Secure Shell) ialah protokol yang menyediakan komunikasi terenkripsi yang selamat, banyak digunakan untuk akses pelayan jauh, pelaksanaan perintah, dan pemindahan fail.
Dalam panduan ini, kami akan membincangkan segala-galanya dari pemasangan asas hingga konfigurasi keselamatan lanjutan untuk SSH pada Ubuntu.
1.1 Mengapa Menyediakan SSH pada Ubuntu?
1.1.1 Apa itu SSH?
SSH (Secure Shell) ialah protokol yang direka untuk komunikasi selamat melalui rangkaian. Ia biasanya digunakan untuk log masuk ke pelayan jauh, memindahkan fail, dan tunneling (pemajuan port). Berbeza dengan protokol tradisional seperti Telnet atau FTP, SSH menyulitkan semua komunikasi, menjadikannya sangat selamat.
1.1.2 Bila Anda Memerlukan SSH pada Ubuntu?
SSH berguna untuk pengurusan jauh dalam pelbagai senario, seperti:
- Mengurus pelayan awan : Perkhidmatan awan seperti AWS, GCP, dan Vultr menggunakan SSH untuk akses pelayan jauh.
- Operasi jauh dalam persekitaran LAN : Mengakses pelayan dalaman atau mesin pembangunan melalui SSH untuk kerja jauh.
- Mengurus peranti IoT : Mengawal peranti terbenam seperti Raspberry Pi dari jauh.
Secara lalai, SSH dilumpuhkan pada Ubuntu. Untuk menggunakannya, anda mesti memasang dan mengkonfigurasikannya secara manual.
2. Konfigurasi SSH Asas
Untuk menggunakan SSH pada Ubuntu, anda perlu memasang pelayan SSH (OpenSSH) dan mengkonfigurasikannya dengan betul. Bahagian ini merangkumi pemasangan, tetapan asas, konfigurasi firewall, dan cara menyambung ke pelayan anda.
2.1 Memasang dan Memulakan OpenSSH
2.1.1 Apa itu OpenSSH?
OpenSSH (Open Secure Shell) ialah pelaksanaan sumber terbuka bagi protokol SSH. Ia menyokong sambungan jauh, pemindahan fail selamat (SCP dan SFTP), serta pemajuan port.
2.1.2 Memasang OpenSSH
Secara lalai, Ubuntu tidak datang dengan pelayan SSH yang dipasang terlebih dahulu. Gunakan perintah berikut untuk memasangnya:
sudo apt update && sudo apt install -y openssh-server
Perintah ini mengemas kini senarai pakej dan memasang pelayan OpenSSH.
2.1.3 Memulakan dan Mengaktifkan Pelayan SSH
Setelah dipasang, mulakan pelayan SSH dan aktifkan supaya ia dilancarkan semasa boot.
sudo systemctl enable --now ssh
Pilihan enable memastikan SSH bermula secara automatik apabila OS boot.
2.1.4 Mengesahkan Status SSH
Untuk memeriksa sama ada pelayan SSH sedang berjalan, gunakan:
systemctl status ssh
Jika anda melihat output seperti berikut, SSH sedang berjalan dengan betul:
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2025-02-28 12:00:00 UTC; 5min ago
Jika anda melihat inactive (dead) atau failed, mulakan perkhidmatan secara manual:
sudo systemctl start ssh
2.2 Mengkonfigurasi Firewall (UFW)
Ubuntu menyediakan ufw (Uncomplicated Firewall) untuk pengurusan firewall yang mudah. Anda perlu mengkonfigurasi UFW supaya membenarkan sambungan SSH.
2.2.1 Memeriksa Status UFW
Periksa status firewall semasa menggunakan:
sudo ufw status
Contoh output (jika UFW dilumpuhkan):
Status: inactive
Contoh output (jika UFW diaktifkan):
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
2.2.2 Membenarkan Trafik SSH
Untuk membenarkan sambungan SSH pada port lalai 22, jalankan:
sudo ufw allow ssh
Sebagai alternatif, nyatakan port secara eksplisit:
sudo ufw allow 22/tcp
2.2.3 Mengaktifkan UFW
Jika UFW dilumpuhkan, aktifkan dengan:
sudo ufw enable
Sebelum mengaktifkan UFW, pastikan SSH telah dibenarkan, atau anda mungkin terkunci keluar.
2.2.4 Mengesahkan Tetapan UFW
Periksa sama ada peraturan firewall telah diterapkan dengan betul:
sudo ufw status verbose
Contoh output:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
Jika anda melihat ini, SSH dibenarkan melalui firewall.
2.3 Connecting to SSH
Setelah pelayan SSH berjalan, anda boleh menyambung dari PC klien.
2.3.1 Connecting from Linux/macOS
Pada Linux atau macOS, buka terminal dan jalankan:
ssh username@server-ip-address
Contoh:
ssh user@192.168.1.100
Pada sambungan pertama, anda mungkin melihat amaran keselamatan seperti ini:
The authenticity of host '192.168.1.100 (192.168.1.100)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no)?
Taip yes dan tekan Enter untuk meneruskan.
2.3.2 Connecting from Windows
Pada Windows, anda boleh menggunakan PowerShell atau PuTTY untuk menyambung melalui SSH.
Menggunakan PowerShell
Windows 10 dan versi lebih baru menyertakan klien SSH dalam PowerShell. Sambung dengan:
ssh username@server-ip-address
Menggunakan PuTTY
- Muat turun dan pasang PuTTY dari laman rasmi .
- Buka PuTTY dan masukkan alamat IP pelayan dalam
Host Name (or IP address). - Tetapkan
Connection typekepadaSSHdan klikOpen. - Masukkan nama pengguna dan kata laluan anda untuk menyambung.
3. Enhancing SSH Security
SSH adalah alat yang kuat untuk akses jauh, tetapi membiarkannya dengan tetapan lalai boleh menimbulkan risiko keselamatan. Penyerang sering menyasarkan pelayan SSH menggunakan serangan brute force atau pengimbasan port. Untuk mewujudkan persekitaran SSH yang lebih selamat, adalah penting untuk menerapkan konfigurasi keselamatan yang betul.
3.1 Disabling Root Login
Secara lalai, Ubuntu mungkin membenarkan log masuk root melalui SSH. Oleh kerana akaun root mempunyai keistimewaan sistem penuh, ia menjadi sasaran biasa bagi penyerang. Menyahaktifkan log masuk root dan menggunakan akaun pengguna biasa sebaliknya secara signifikan meningkatkan keselamatan.
3.1.1 Configuration Steps
- Edit fail konfigurasi SSH
/etc/ssh/sshd_config.sudo nano /etc/ssh/sshd_config
- Cari baris berikut dan ubah menjadi
PermitRootLogin no.PermitRootLogin no
- Simpan fail dan mulakan semula perkhidmatan SSH.
sudo systemctl restart ssh
- Sahkan bahawa tetapan telah diterapkan.
sudo grep PermitRootLogin /etc/ssh/sshd_config
Jika output menunjukkan PermitRootLogin no, tetapan telah berjaya diterapkan.
3.2 Disabling Password Authentication and Enabling Public Key Authentication
Menggunakan pengesahan kunci awam jauh lebih selamat berbanding bergantung pada pengesahan kata laluan. Dengan pengesahan kunci awam, anda tidak perlu memasukkan kata laluan, mengurangkan risiko serangan brute force.
3.2.1 Generating an SSH Key Pair
Pada PC tempatan anda, jana sepasang kunci SSH:
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa
Ini akan menghasilkan dua fail:
- Kunci peribadi (
id_rsa) → Simpan ini pada PC tempatan anda (jangan pernah kongsikan secara awam). - Kunci awam (
id_rsa.pub) → Salin ini ke pelayan.
3.2.2 Copying the Public Key to the Server
Gunakan perintah berikut untuk menyalin kunci awam anda ke pelayan:
ssh-copy-id username@server-ip-address
3.2.3 Disabling Password Authentication
Edit fail konfigurasi SSH:
sudo nano /etc/ssh/sshd_config
Cari baris berikut dan ubah menjadi:
PasswordAuthentication no
Mulakan semula SSH untuk menerapkan perubahan:
sudo systemctl restart ssh
3.3 Restricting SSH Access to Specific Users
Untuk meningkatkan keselamatan, anda boleh mengehadkan akses SSH kepada pengguna tertentu.
3.3.1 Configuration Steps
- Buka fail konfigurasi SSH.
sudo nano /etc/ssh/sshd_config
- Tambahkan baris berikut, menentukan pengguna yang dibenarkan.
AllowUsers user1 user2
- Mulakan semula SSH untuk menerapkan perubahan.
sudo systemctl restart ssh
3.4 Changing the SSH Port
Port SSH lalai (22) sering menjadi sasaran penyerang. Menukarnya ke port yang tidak standard dapat mengurangkan risiko serangan automatik.
3.4.1 Configuration Steps
- Buka fail konfigurasi SSH.
sudo nano /etc/ssh/sshd_config
- Cari baris berikut dan ubahnya kepada port tersuai (contoh,
2200).Port 2200
- Simpan fail dan mulakan semula SSH.
sudo systemctl restart ssh
3.4.2 Mengemas kini Tetapan Firewall
Selepas menukar port SSH, benarkan port baru melalui UFW:
sudo ufw allow 2200/tcp
Sahkan tetapan:
sudo ufw status
3.5 Mencegah Serangan Brute Force dengan Fail2Ban
Fail2Ban ialah alat yang mengesan percubaan log masuk SSH yang gagal dan sementara menyekat alamat IP yang menyerang.
3.5.1 Memasang Fail2Ban
sudo apt install fail2ban -y
3.5.2 Membuat Fail Konfigurasi
Salin fail konfigurasi lalai:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Edit fail konfigurasi:
sudo nano /etc/fail2ban/jail.local
Ubah bahagian SSH seperti berikut:
[sshd]
enabled = true
port = 2200
maxretry = 3
findtime = 600
bantime = 3600
3.5.3 Memulakan semula Fail2Ban
Mulakan semula Fail2Ban untuk menerapkan perubahan:
sudo systemctl restart fail2ban
3.5.4 Menyemak Senarai Sekatan
Untuk menyemak IP mana yang disekat:
sudo fail2ban-client status sshd
Ringkasan
Dalam bahagian ini, kami membincangkan peningkatan keselamatan SSH yang penting, termasuk:
- Melumpuhkan log masuk root
- Melumpuhkan pengesahan kata laluan dan membenarkan pengesahan kunci awam
- Mengehadkan akses SSH kepada pengguna tertentu
- Menukar port SSH
- Menggunakan Fail2Ban untuk menyekat serangan brute force
Dengan melaksanakan langkah-langkah ini, anda dapat mewujudkan persekitaran SSH yang lebih selamat.
4. Konfigurasi SSH Lanjutan
Selepas mengkonfigurasi keselamatan SSH, anda boleh memanfaatkan tetapan lanjutan untuk meningkatkan kebolehgunaan dan keselamatan. Bahagian ini merangkumi pengurusan ssh.socket dalam Ubuntu 22.10 dan versi lebih baru, tunneling SSH (pemajuan port), penetapan pelbagai port SSH, dan mengehadkan akses SSH kepada alamat IP tertentu.
4.1 Menggunakan ssh.socket dalam Ubuntu 22.10 dan Versi Lebih Baru
Mulai Ubuntu 22.10, pengurusan perkhidmatan SSH mungkin beralih dari ssh.service ke ssh.socket. Ini membolehkan SSH dimulakan secara dinamik apabila permintaan sambungan diterima, mengurangkan penggunaan sumber.
4.1.1 Menyemak Status ssh.socket
Untuk menyemak sama ada ssh.socket diaktifkan, jalankan:
sudo systemctl status ssh.socket
Contoh output (jika diaktifkan):
● ssh.socket - OpenSSH Server Socket
Loaded: loaded (/lib/systemd/system/ssh.socket; enabled; vendor preset: enabled)
Active: active (listening) since Fri 2025-02-28 12:00:00 UTC
4.1.2 Mengaktifkan atau Menyahaktifkan ssh.socket
Jika ssh.socket dinyahaktifkan, aktifkan dengan:
sudo systemctl enable --now ssh.socket
Untuk kembali ke ssh.service tradisional, nyahaktifkan ssh.socket dan aktifkan ssh.service sebaliknya:
sudo systemctl disable --now ssh.socket
sudo systemctl enable --now ssh.service
4.2 Tunneling SSH (Pemajuan Port)
Tunneling SSH membolehkan penghantaran data yang selamat antara pelayan jauh dan PC tempatan, mengelak rangkaian luaran.
4.2.1 Pemajuan Port Tempatan
Berguna untuk mengakses pangkalan data atau pelayan web jauh dengan selamat.
Contoh: Menyambung ke pelayan MySQL jauh (port 3306) dari PC tempatan anda
ssh -L 3306:localhost:3306 username@server-ip-address
4.2.2 Pemajuan Port Jauh
Mendedahkan perkhidmatan tempatan kepada pelayan jauh melalui SSH.
Contoh: Memajukan pelayan web tempatan (port 80) ke port 8080 pada pelayan jauh
ssh -R 8080:localhost:80 username@server-ip-address
4.2.3 Pemajuan Port Dinamik
Menukar SSH menjadi proksi SOCKS untuk melayari web secara awanama.
Contoh: Membuat proksi SOCKS pada port tempatan 1080
ssh -D 1080 username@server-ip-address
4.3 Mendengar pada Pelbagai Port SSH
Secara lalai, SSH mendengar pada satu port (port 22). Menetapkan pelbagai port membolehkan fleksibiliti akses.
4.3.1 Langkah-langkah Konfigurasi
- Edit fail konfigurasi SSH.
sudo nano /etc/ssh/sshd_config
- Tambah beberapa entri port.
Port 22 Port 2200
- Mulakan semula SSH.
sudo systemctl restart ssh
- Benarkan port baru dalam firewall.
sudo ufw allow 2200/tcp
4.4 Menghadkan Akses SSH kepada Alamat IP Tertentu
Untuk meningkatkan keselamatan, anda boleh hadkan akses SSH kepada alamat IP tertentu.
4.4.1 Mengkonfigurasi /etc/hosts.allow
Benarkan akses SSH hanya dari alamat IP tertentu dengan mengedit:
sudo nano /etc/hosts.allow
Tambahkan baris berikut (gantikan 192.168.1.100 dengan alamat IP yang dibenarkan):
sshd: 192.168.1.100
4.4.2 Mengkonfigurasi /etc/hosts.deny
Untuk menyekat semua IP lain secara lalai:
sudo nano /etc/hosts.deny
sshd: ALL
Ini memastikan bahawa hanya IP yang disenaraikan dalam hosts.allow boleh mengakses SSH.
Ringkasan
Bahagian ini meliputi tetapan SSH lanjutan, termasuk:
- Mengurus
ssh.socketdalam Ubuntu 22.10 dan versi kemudian - Menggunakan terowongan SSH (penerusan port) untuk sambungan selamat
- Mendengar pada pelbagai port SSH
- Menghadkan akses SSH kepada IP tertentu
Menerapkan tetapan ini meningkatkan keselamatan dan kebolehgunaan SSH.
5. Penyelesaian Masalah SSH
Walaupun dengan konfigurasi yang betul, masalah SSH mungkin timbul. Bahagian ini menyediakan penyelesaian kepada masalah SSH biasa.
5.1 Tidak Berjaya Bersambung ke SSH
Jika anda mendapat ralat Connection refused atau masa tamat, periksa yang berikut.
5.1.1 Perkhidmatan SSH Tidak Berjalan
Sahkan status perkhidmatan SSH:
sudo systemctl status ssh
Penyelesaian:
- Jika
Active: inactive (dead)ataufailed, mulakan semula SSH.sudo systemctl restart ssh
- Benarkan SSH bermula secara automatik.
sudo systemctl enable ssh
5.1.2 Firewall Menyekat SSH
Pastikan SSH dibenarkan melalui UFW:
sudo ufw status
Penyelesaian: Jika SSH tidak dibenarkan:
sudo ufw allow 22/tcp
Jika menggunakan port tersuai:
sudo ufw allow 2200/tcp
5.2 Ralat Pengesahan
Jika SSH menolak percubaan log masuk, periksa yang berikut:
5.2.1 Nama Pengguna atau Kata Laluan Tidak Betul
Pastikan anda menggunakan nama pengguna yang betul:
ssh username@server-ip-address
5.2.2 Masalah Pengesahan Kunci Awam
Sahkan bahawa kunci awam anda disimpan dengan betul dalam ~/.ssh/authorized_keys.
cat ~/.ssh/authorized_keys
5.2.3 Kebenaran Tidak Betul
Pastikan direktori SSH dan fail mempunyai kebenaran yang betul:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Ringkasan
Bahagian ini meliputi masalah SSH biasa dan penyelesaiannya, termasuk:
- Memeriksa jika SSH berjalan
- Memastikan firewall tidak menyekat SSH
- Memperbaiki masalah pengesahan
Gunakan langkah penyelesaian masalah ini untuk menyelesaikan masalah sambungan SSH dengan cepat.
6. FAQ (Soalan Lazim)
Bahagian ini menangani soalan-soalan berkaitan SSH yang biasa dan penyelesaian untuk meningkatkan pengalaman SSH anda sambil mengekalkan keselamatan.
6.1 Bagaimana Mencegah Pemutusan Sambungan SSH?
Jika sambungan SSH terputus selepas tempoh tidak aktif, cuba tetapan berikut.
6.1.1 Konfigurasi Sisi Pelayan
Edit /etc/ssh/sshd_config dan tambahkan:
ClientAliveInterval 60
ClientAliveCountMax 3
Mulakan semula SSH untuk menerapkan perubahan:
sudo systemctl restart ssh
6.1.2 Konfigurasi Sisi Klien
Ubah suai fail konfigurasi SSH tempatan ~/.ssh/config:
Host *
ServerAliveInterval 60
ServerAliveCountMax 3
6.2 Apa yang Perlu Dilakukan Jika Saya Lupa Kata Laluan SSH Saya?
6.2.1 Jika Anda Mempunyai Akses Fizikal kepada Pelayan
- Boot ke mod pemulihan melalui menu GRUB.
- Set semula kata laluan dengan arahan berikut:
passwd username
- Mulakan semula sistem.
6.2.2 Jika Anda Tidak Boleh Mengakses Pelayan Secara Fizikal (contohnya, Cloud VPS)
- Gunakan ciri konsol penyedia awan untuk mengakses pelayan.
- Tetapkan pengesahan kunci SSH bukannya bergantung pada kata laluan.
6.3 Bagaimana Menggunakan SSH pada Windows?
6.3.1 Menggunakan PowerShell
Windows 10 dan versi kemudian termasuk klien SSH terbina. Buka PowerShell dan jalankan:
ssh username@server-ip-address
6.3.2 Menggunakan PuTTY
- Muat turun dan pasang PuTTY .
- Masukkan IP pelayan dalam
Host Name (or IP address). - Pilih
SSHsebagai jenis sambungan dan klikOpen. - Log masuk dengan nama pengguna dan kata laluan anda.
6.4 Bagaimana Menyediakan SSH dalam Ubuntu WSL (Windows Subsystem for Linux)?
Untuk mengaktifkan SSH pada WSL, ikuti langkah-langkah berikut.
6.4.1 Memasang Pelayan SSH
sudo apt update && sudo apt install openssh-server
6.4.2 Menyediakan SSH
Edit /etc/ssh/sshd_config dan benarkan pengesahan kata laluan:
PasswordAuthentication yes
Memandangkan WSL tidak menggunakan systemd secara lalai, mulakan SSH secara manual:
sudo service ssh start
6.5 Langkah Keselamatan Tambahan Apa yang Perlu Saya Ambil?
6.5.1 Memasang Fail2Ban
Cegah serangan brute-force dengan memasang Fail2Ban:
sudo apt install fail2ban -y
Edit fail konfigurasi /etc/fail2ban/jail.local :
[sshd]
enabled = true
port = 22
maxretry = 3
findtime = 600
bantime = 3600
Mulakan semula Fail2Ban:
sudo systemctl restart fail2ban
6.5.2 Menukar Port SSH
Ubah /etc/ssh/sshd_config untuk menukar port SSH lalai:
Port 2200
Mulakan semula SSH dan kemas kini tetapan firewall:
sudo ufw allow 2200/tcp
6.6 Bagaimana Memantau Log SSH secara Masa Nyata?
Untuk melihat log SSH secara masa nyata, gunakan:
sudo journalctl -u ssh -f
Untuk memeriksa log lama:
sudo cat /var/log/auth.log | grep ssh
6.7 Bagaimana Menjadikan SSH Lebih Mudah Digunakan?
6.7.1 Menggunakan .ssh/config untuk Log Masuk Mudah
Simpan sambungan SSH yang kerap digunakan dalam ~/.ssh/config :
Host myserver
HostName 192.168.1.100
User user
Port 2200
IdentityFile ~/.ssh/id_rsa
Kini anda boleh sambung dengan:
ssh myserver
6.7.2 Menggunakan ssh-agent untuk Mengelakkan Masukan Kata Laluan Berulang
Jalankan:
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa
Ini membolehkan sambungan SSH tanpa memasukkan frasa laluan setiap kali.
Ringkasan
Bahagian ini memberikan jawapan kepada soalan-soalan umum berkaitan SSH, meliputi:
- Mencegah masa tamat SSH
- Memulihkan kata laluan yang terlupa
- Menggunakan SSH pada Windows dan WSL
- Menerapkan langkah keselamatan tambahan
- Memantau log SSH
- Membuat penggunaan SSH lebih mudah
Dengan mengikuti tip ini, anda dapat mewujudkan persekitaran SSH yang selamat dan berkesan untuk pengurusan pelayan jauh.
Artikel Berkaitan
1. Pengenalan Dengan menggunakan SSH pada Ubuntu, anda boleh mengakses dan mengurus pelayan atau PC anda secara selamat […]



![Cara Memeriksa, Menukar, dan Beralih Versi Python di Ubuntu [Panduan Lengkap]](https://www.linux.digibeatrix.com/wp-content/uploads/2025/02/36b84d2ec91b0993972a29a44e5757c7-375x214.webp)
![Cara Memeriksa Versi CUDA pada Ubuntu [Panduan Perintah Mudah]](https://www.linux.digibeatrix.com/wp-content/uploads/2025/03/7ad0e7fe124605dc3cd746565dc1d108-375x214.webp)