Anda harus dapat masuk ke host lain di segmen jaringan yang sama. Beberapa cara untuk mendapatkan akses ke host yang salah konfigurasi membutuhkan root pada host perantara, tetapi ada juga satu cara mudah untuk mendapatkan akses tanpa perlu root pada host perantara.
Cara mudah untuk mengakses host menggunakan IPv6
ssh -o ProxyCommand='ssh -W [fe80::42:ff:fe:42%%eth0]:%p user@intermediate-host' root@target-server
Contoh berikut nilai-nilai membutuhkan perintah di atas harus diganti dengan nilai-nilai yang benar untuk kasus penggunaan Anda: fe80::42:ff:fe:42
, eth0
, user
, intermediate-host
, dan target-server
.
Penjelasan terperinci tentang cara kerjanya
ProxyCommand
adalah fitur ssh untuk digunakan ketika Anda tidak dapat membuka koneksi TCP langsung ke host target. Argumen untuk ProxyCommand
adalah perintah yang stdin / stdout untuk digunakan alih-alih koneksi TCP.
-W
digunakan untuk membuka satu port forwarding dan menghubungkannya ke stdin / stdout. Ini cocok dengan baik bersama ProxyCommand
.
fe80::42:ff:fe:42%%eth0
adalah alamat tautan-lokal dari host target. Perhatikan bahwa karena ProxyCommand
menggunakan %
sebagai karakter pelarian, perintah ssh yang diketik harus digunakan %%
di lokasi itu. Anda dapat menemukan semua alamat tautan-lokal di segmen dengan menjalankan ssh user@intermediate-host ping6 -nc2 ff02::1%eth0
.
Menggunakan alamat IP-link-lokal untuk tujuan ini biasanya merupakan cara termudah karena diaktifkan secara default pada semua sistem modern, dan alamat link-lokal tetap berfungsi bahkan jika tumpukan IPv4 dan IPv6 sangat tidak terkonfigurasi.
Kembali ke IPv4
Jika IPv6 sepenuhnya dinonaktifkan pada host yang salah konfigurasi (sama sekali tidak direkomendasikan), maka Anda mungkin harus menggunakan IPv4. Karena IPv4 tidak memiliki alamat tautan-lokal seperti halnya IPv6 maka mengakses host yang salah konfigurasi menggunakan IPv4 menjadi lebih rumit dan memerlukan akses root pada host perantara.
Jika host yang salah konfigurasi masih dapat menggunakan gateway default-nya, Anda akan dapat mengaksesnya dari luar. Mungkin netmask yang salah konfigurasi juga memecah gateway default karena stack menolak untuk menggunakan gateway di luar awalan yang dicakup oleh netmask. Jika memang demikian halnya, host yang salah konfigurasi hanya akan dapat berkomunikasi dengan 192.168.1.8 karena itulah satu-satunya alamat IP lain dalam subnet yang saat ini dapat diakses oleh host yang salah konfigurasi ini.
Jika Anda memiliki login di 192.168.1.8, Anda mungkin bisa ssh dari sana ke 192.168.1.9. Jika 192.168.1.8 saat ini tidak ditetapkan, Anda dapat sementara waktu memberikannya ke host mana pun di segmen di mana Anda memiliki akses root.
fe80::42:ff:fe:42
apakah alamat ...? server saya yang salah konfigurasi, saya kira?kasperd
memposting jawaban yang luar biasa cukup rinci bagi saya untuk belajar bagaimana saya dapat pulih dari situasi dalam pertanyaan. Jawaban ini adalah langkah demi langkah tepat bagaimana saya melakukannya.arp -a
atauip neighbor list
sebagairoot
menemukan alamat MAC server terkonfigurasi.ssh user@link-local%dev
mana pun melalui tempat:sumber
Anda perlu memuat alamat IP dalam subnet yang dikonfigurasi target Anda, bukan hanya dalam kisaran yang Anda inginkan.
Jika Anda mengirim paket ke 10.0.0.2 dengan subnet 255.255.255.248 dari, misalnya, 10.0.0.220, 10.0.0.2 akan melihat subnet mask-nya untuk mencari tahu bagaimana membalas. Karena .220 adalah WAAY dari subnet 255.255.255.248, .2 harus mengirim balasan ke gateway default sebagai gantinya.
Jadi jika Anda dapat memuat alamat IP dalam subnet yang sama dengan .2, mis. 10.0.0.3, maka itu akan berhasil.
Dalam kasus spesifik Anda, untuk 10.0.0.9, subnet 255.255.255.254 hanya memiliki 1 alamat IP tambahan , yaitu 10.0.0.8. Jadi, jika Anda dapat memuat alamat IP itu, Anda harus dapat SSH.
sumber