SSH kommandoskal

Från Täpp-Anders
Hoppa till navigeringHoppa till sök

Bakgrund

När man ansluter till en host med ssh så kan man också göra port forward till det interna nätet. Detta görs på kommandoraden som exempelvis:

ssh user@host -L local_port:remote_hostname:remote_port

På detta sett kan man senare ansluta till localhost:local_port och då blir anslutningen vidarebefodrad till remote_hostname och port remote_port vilket är mycket praktiskt för att nå maskiner på det interna nätet.

Man kan även göra en reverse port forward med -R enligt:

ssh user@host -R remote_port:local_host:local_port

Detta gör så att en användare som ansluter till remote_port på den host du ssh:ar till kommer i stället hamna på din local_host:local_port. Detta är t.ex. användbart om du har en VPS och vill kunna använda den som en jumpgate in till ditt nät hemma. Du sätter då i förväg upp remote forward exempelvis såhär:

ssh user@vps-host -R 2222:127.0.0.1:22

När du nu ansluter till port 2222 på vps-host kommer trafiken skickas till maskinen som satte upp remote forward och dess port 22.

Ibland vill man kunna lägga till en port forward i en existerande session eller på annat sätt göra saker med ssh. Därför finns det ett inbyggt command shell som man kan använda för att göra detta.

Kommandoskal

För att aktivera det i en ssh behöver du trycka följande sekvens: <ENTER>~C (enter, tilde, stora C). Har du gjort rätt så ska du nu få en prompt som ser ut såhär:

ssh> 

Du kan nu lägga till portar som du vill genom att skriva t.ex.

L lokal_port:remote_host:remote_port

Det fungerar också med R och med D (för dynamiska portar). Se manualen under Escape sequences.