come collegare ssh 'con' la porta specificata?


56

So come connettersi "a" una determinata porta durante lo ssh.

ssh user@remotehostip -p XXX

ma c'è un modo per stabilire un ssh "con" una determinata porta?

Voglio dire, c'è un modo per specificare la porta che verrà utilizzata dal mio computer locale?


Intendevi cambiare la porta del server o la porta di ricezione del client? Modifica: Ok, ho eliminato il mio suggerimento. Preferito.
polimero

Voglio specificare la porta del cliente
kwagjj

3
@kwagjj intendi la porta di origine? In tal caso no, non è possibile controllare la porta di origine.
Patrick,

Risposte:


15

Questo non è facilmente possibile. Come può essere fatto dipende da dove deve essere vista la porta di origine: anche localmente o è sufficiente se è la porta giusta dal punto di vista della rete esterna?

È possibile eseguire il client SSH in un contenitore LXC. Non l'ho mai fatto, quindi non posso spiegartelo in dettaglio. Ma si crea un'interfaccia di rete virtuale e la si collega a questo contenitore in modo che sshutilizzi questa interfaccia perché è l'unica interfaccia (esterna) che vede.

Sul sistema host dovrebbe essere possibile rilevare che un pacchetto proviene da questa interfaccia. Quindi puoi usare il NAT (SNAT) di Netfilter per riscrivere l'indirizzo sorgente con qualcosa del tipo:

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

Naturalmente, questo non funziona (o diventa più complicato) se ci si connette a porte diverse da 22.


1
grazie ... ma penso che queste informazioni siano fuori dalla mia portata ... ma comunque grazie comunque :) Ma se davvero avessi davvero un vicolo cieco con quello che sto facendo .. forse girerò la testa su questo rispondi ancora :)
kwagjj

Sì, è davvero difficile trovare informazioni su questo problema. Ho scoperto sshfse qualcuno ha detto che ha funzionato con questo comando, ma non ci credo. Se trovi la risposta, faccelo sapere :)!
polym

@kwagjj Potrebbe essere più facile (da capire) installare un Linux completo (in modalità testo) come una vera VM. Se si utilizza questa VM (o un determinato account) solo per SSH, è possibile farlo con VM Netfilter.
Hauke ​​Laging,

6

La sintassi del comando che stai forse cercando è questa. ssh -p XXX user @ remotehostip Devi cambiare l'ordine delle opzioni. Provalo ora, funziona per me. I migliori saluti.


2

Una soluzione semplice per questo se si sta effettuando il port forwarding attraverso il router è impostare la porta in entrata su ciò che si desidera e la porta locale su 22. La macchina continuerà a prendere la connessione ssh su 22 come al solito ma per connettersi effettivamente dall'esterno della rete useresti la tua porta in entrata. Se stai solo cercando di impedire ai robot di martellare la tua macchina su 22 questo dovrebbe farlo.

Questo potrebbe non essere d'aiuto per il tuo problema specifico, ma immagino che molte persone finiscano qui per questo motivo.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.