Saya telah membuat VPC di aws dengan subnet publik dan subnet pribadi. Subnet pribadi tidak memiliki akses langsung ke jaringan eksternal. Jadi, ada server NAT di subnet publik yang meneruskan semua lalu lintas keluar dari subnet pribadi ke jaringan luar.
Saat ini, saya dapat SSH dari subnet publik ke subnet pribadi, juga SSH dari NAT ke subnet pribadi. Namun, yang saya inginkan adalah SSH dari mesin apa pun (laptop rumah, mesin kantor, dan seluler) hingga instance di subnet pribadi.
Saya telah melakukan beberapa penelitian bahwa saya dapat mengatur kotak NAT untuk meneruskan SSH ke instance di subnet pribadi. Tapi saya tidak beruntung karena ini.
Adakah yang bisa mendaftar apa yang saya perlu setup untuk membuat ini mungkin.
Penamaan adalah:
laptop (perangkat apa pun di luar VPC)
nat (server NAT di subnet publik)
tujuan (server di subnet pribadi yang ingin saya sambungkan)
Tidak yakin yang berikut ini adalah batasan atau tidak:
"Tujuan" tidak memiliki IP publik, hanya ip subnet, misalnya 10.0.0.1 "tujuan" tidak dapat terhubung ke "nat" melalui publik nat. Ada beberapa server "tujuan", apakah saya perlu mengatur satu untuk masing-masing?
Terima kasih
sumber
Jawaban:
Anda dapat mengatur host bastion untuk terhubung ke instance apa pun dalam VPC Anda:
http://blogs.aws.amazon.com/security/post/Tx3N8GFK85UN1G6/Security-connect-to-Linux-instances-running-in-a-private-Amazon-VPC
Anda bisa memilih untuk meluncurkan instance baru yang akan berfungsi sebagai host bastion, atau menggunakan instance NAT yang ada sebagai bastion.
Jika Anda membuat instance baru, sebagai gambaran umum, Anda akan:
1) buat grup keamanan untuk host benteng Anda yang akan memungkinkan akses SSH dari laptop Anda (perhatikan grup keamanan ini untuk langkah 4)
2) luncurkan instance terpisah (bastion) di subnet publik di VPC Anda
3) memberikan benteng host itu IP publik baik saat peluncuran atau dengan menetapkan IP elastis
4) perbarui grup keamanan masing-masing instance Anda yang tidak memiliki IP publik untuk memungkinkan akses SSH dari host benteng. Ini dapat dilakukan dengan menggunakan ID grup keamanan host bastion (sg - #####).
5) menggunakan penerusan agen SSH (ssh -A user @ publicIPofBastion) untuk menghubungkan pertama ke bastion, dan kemudian sekali di bastion, SSH ke setiap instance internal (ssh user @ private-IP-of-Internal-Instance). Penerusan agen menangani penerusan kunci pribadi Anda sehingga tidak harus disimpan pada instance benteng ( jangan pernah menyimpan kunci pribadi pada instance apa pun !! )
Posting blog AWS di atas harus dapat memberikan beberapa seluk-beluk mengenai proses. Saya juga menyertakan yang berikut jika Anda menginginkan detail tambahan tentang bastion hosts:
Konsep Host Bastion: http://en.m.wikipedia.org/wiki/Bastion_host
Jika Anda membutuhkan klarifikasi, jangan ragu untuk berkomentar.
sumber
Satu-satunya cara saya bisa membuatnya bekerja.
1) Pastikan bahwa grup keamanan untuk instance pribadi ini memiliki aturan inbound grup keamanan dari subnet publik
Sumber Protokol Ports
Semua Semua sg-0b6616e070b9ea2d (grup keamanan publik)
2) Menggunakan perintah proxy, konfigurasikan file konfigurasi ssh Anda, untuk memiliki sesuatu seperti ini
vim ~/.ssh/config
Jalankan
ssh privatehost
itu harus bekerjasumber
Hanya untuk memperjelas: begitu Anda sudah masuk ke host benteng Anda, Anda harus ssh ke host NAT sebagai pengguna
ec2-user
. Ini membuat saya sedikit kaget, karena biasanya pengguna ubuntu adalah ubuntu di AWS. Jadi saya melakukannya:Juga, ingat bahwa ssh_bastion Anda harus memiliki aturan keluar yang memungkinkan lalu lintas ke host lain dan sg.
sumber