Meskipun mungkin menyenangkan untuk ssh ke sistem Anda dari lokasi sewenang-wenang di internet, ada sistem serangan kata sandi otomatis yang akan mengunci ke port ssh terbuka dan menerapkan berbagai serangan akun joe dan kamus terhadap sistem Anda. Ini bisa menjadi sulit untuk dibaca dalam ringkasan log malam Anda dan merupakan pemborosan bandwidth Anda.
Jika Anda memiliki server web pada sistem yang sama, Anda dapat menggunakan pembungkus php dan tcp untuk membatasi lalu lintas masuk ssh ke sistem yang diketahui, plus memberi Anda kunci pintu belakang untuk mengizinkan diri Anda mengakses dari sistem arbitrer di internet.
Begini cara melakukannya:
tolak semua koneksi ssh di /etc/hosts.deny:
# /etc/hosts.deny fragment
sshd: all
Izinkan sistem yang dikenal dengan IP di /etc/hosts.allow, plus tambahkan file untuk akses sementara:
# /etc/hosts.allow fragment
sshd: 10.0.10.2 # some system
sshd: 172.99.99.99 # some other system
sshd: /etc/hosts.allow.temporary-sshd-access
Buat file php di server web Anda dan berikan nama yang tidak jelas seperti my-sshd-access.php:
<?php
function get_ip()
{
return getenv("REMOTE_ADDR");
}
?>
<?php
$out='/etc/hosts.allow.temporary-sshd-access';
$log='/var/log/sshd-access-addition-log';
print "Was:";
readfile($out);
print "<br>";
$ip=get_ip();
$fp=fopen($out,"w");
fputs($fp,$ip);
fclose($fp);
$lfp=fopen($log,"a");
fputs($lfp,$ip);
fputs($lfp,"n");
fclose($lfp);
print "Wrote: ";
readfile($out);
?>
Maafkan kode php - Saya menggeseknya dari tempat lain, jadi mungkin bisa berdiri untuk dibersihkan. Yang dilakukannya hanyalah menambahkan alamat IP sistem yang mengaksesnya ke file /etc/hosts.allow.tentara-sshd-access, yang dibaca oleh sshd (karena dimasukkan oleh /etc/hosts.allow) pada waktu koneksi .
Sekarang ketika Anda berada di beberapa sistem arbitrer di web dan ingin ssh ke sistem ini, pertama-tama gunakan browser web dan tekan file ini (atau gunakan wget atau equivilent):
$ wget http://your.system.name/my-sshd-access.php
Sekarang Anda harus dapat ssh ke sistem Anda. Jika ini adalah suatu tempat di mana Anda akan sering melakukan ssh'ing, akan sepele untuk membaca konten file /etc/hosts.allow.tentara-sshd-access dan secara permanen menambahkan alamat IP ke / etc / hosts. mengizinkan.