bagaimana menghubungkan ssh 'dengan' port yang ditentukan?

56

Saya tahu cara menghubungkan 'ke' port tertentu saat ssh'ing.

ssh user@remotehostip -p XXX

tetapi adakah cara untuk membangun ssh 'dengan' port tertentu?

Maksud saya, apakah ada cara untuk menentukan port yang akan digunakan komputer lokal saya?

kwagjj
sumber
Apakah maksud Anda mengubah port server atau port penerima klien? Sunting: Oke, saya menghapus saran saya. Disukai
polym
Saya ingin menentukan porta klien
kwagjj
3
@ kwagjj maksud Anda port sumber? Jika tidak, Anda tidak dapat mengontrol port sumber.
Patrick

Jawaban:

15

Itu tidak mudah. Bagaimana itu bisa dilakukan tergantung pada di mana port sumber harus dilihat: Secara lokal juga, atau apakah itu cukup jika itu port yang tepat dari perspektif jaringan eksternal?

Anda dapat menjalankan klien SSH dalam wadah LXC. Saya belum pernah melakukan itu sehingga saya tidak bisa menjelaskannya kepada Anda secara detail. Tetapi Anda membuat antarmuka jaringan virtual dan melampirkannya ke wadah ini sehingga sshmenggunakan antarmuka ini karena itu adalah satu-satunya antarmuka (eksternal) yang dilihatnya.

Pada sistem host semestinya dimungkinkan untuk mendeteksi bahwa suatu paket berasal dari antarmuka ini. Dengan demikian Anda dapat menggunakan Netfilter's NAT (SNAT) untuk menulis ulang alamat sumber dengan sesuatu seperti:

iptables -t nat -A POSTROUTING -o vnet0 -p tcp --dport 22 -j SNAT --to-source :1234

Tentu saja, ini tidak berfungsi (atau menjadi lebih rumit) jika Anda terhubung ke port yang berbeda dari 22.

Hauke ​​Laging
sumber
1
terima kasih ... tapi saya pikir info ini keluar dari liga saya ... tapi tetap terima kasih :) Tapi jika saya benar-benar menemui jalan buntu dengan apa yang saya lakukan .. mungkin saya akan mengalihkan pikiran saya ke ini jawab lagi :)
kwagjj
ya itu benar-benar sulit untuk menemukan informasi tentang masalah itu. Saya menemukan tentang sshfsdan seseorang berkata bahwa itu bekerja dengan perintah ini, tetapi saya tidak percaya. Jika Anda menemukan jawabannya, beri tahu kami :)!
polym
@ kwagjj Mungkin lebih mudah (untuk memahami) untuk menginstal Linux (mode teks) yang lengkap sebagai VM nyata. Jika Anda menggunakan VM ini (atau akun tertentu di dalamnya) hanya untuk SSH maka Anda dapat melakukan ini dengan VM Netfilter.
Hauke ​​Laging
6

Sintaks perintah yang Anda cari mungkin adalah ini. ssh -p XXX user @ remotehostip Anda harus mengubah urutan opsi. Coba sekarang, ini bekerja untuk saya. Salam Hormat.

Rafael Garcia
sumber
2

Solusi sederhana untuk ini jika Anda meneruskan porting melalui router Anda adalah mengatur port inbound ke apa pun yang Anda inginkan dan port lokal ke 22. Mesin Anda masih akan mengambil koneksi ssh pada 22 seperti biasa tetapi untuk benar-benar terhubung dari luar jaringan Anda Anda akan menggunakan porta masuk Anda. Jika Anda hanya mencoba untuk menghentikan bot dari memalu mesin Anda pada tanggal 22 ini harus dilakukan.

Ini mungkin tidak membantu untuk masalah spesifik Anda, tetapi saya akan membayangkan banyak orang berakhir di sini karena alasan ini.

Stoopkid
sumber