2012-08-28 14:29:59 +0000 2012-08-28 14:29:59 +0000
273
273

Hoe sluit ik een SSH-verbinding af?

Ik maak verbinding met een server via SSH om een bericht naar een socket server te sturen met een commando als:

ssh 181.169.1.2 -p 5566

Nadat de verbinding tot stand is gebracht en ik het bericht schrijf en verzend, kan ik de tekstmodus niet meer verlaten. Ik mag alleen meer tekst invoeren en dat is het.

Is er een commando of een toetsencombinatie waarmee ik terug kan gaan naar de commandomodus?

Antwoorden (7)

294
294
294
2013-07-17 09:26:09 +0000

Kort antwoord: Type exit

Als dat echter niet werkt…

SSH Escape Character en Disconnect Sequence

De meeste SSH-implementaties implementeren een ontsnappingskarakter voor interactieve sessies, vergelijkbaar met telnet’s Ctrl-]-combinatie. Het standaard SSH escape karakter is ~, ingevoerd aan het begin van een regel.

Als u een interactieve OpenSSH sessie ** wilt beëindigen die vastzit en niet kan worden verlaten door exit of CtrlD in een shell aan de andere kant** in te voeren, kunt u ~ invoeren, gevolgd door een punt .. Om er zeker van te zijn dat u het escape karakter aan het begin van een invoerregel invoert, moet u eerst op Enter drukken. Dus de volgende sequentie zal in de meeste gevallen een SSH sessie beëindigen:

Enter~.

Other Escape Sequences

OpenSSH, bijvoorbeeld, biedt andere escape-sequenties naast ~.. Het invoeren van ~? tijdens een sessie zou u een lijst moeten geven. Enkele voorbeelden:

  • ~ gevolgd Ctrl-Z onderbreekt de sessie,
  • ~& zet het direct op de achtergrond,
  • ~# geeft een lijst van doorgestuurde verbindingen in deze sessie.
  • Als je gewoon een tilde aan het begin van een regel wilt invoeren, moet je deze verdubbelen: ~~.

Het escape karakter kan veranderd worden met de commando-regel optie -e. Als u de speciale waarde -e none instelt, wordt het escapen uitgeschakeld en is de sessie volledig transparant.

Zie ook de OpenBSD man pagina op ssh (waarnaar verwezen wordt vanaf www.openssh.org ) onder de -e commandoregel optie

195
195
195
2017-09-16 21:57:26 +0000

Hoe sluit ik een SSH verbinding af?

Twee manieren:

  • sluiten van de shell sessie, bijv. met exit gevolgd door Enter, of Ctrl-d laat u normaal gesproken de ssh sessie afsluiten,
  • in het geval dat u een slechte verbinding heeft en de shell niet reageert, druk dan op de Enter toets, typ dan ~. en ssh zou u onmiddellijk moeten sluiten en terug moeten keren naar uw commando prompt.

De eerste optie zou intuïtief moeten zijn, maar hoe kennen we de laatste optie?

We kunnen deze informatie leren uit een zorgvuldige lezing van de man pagina.

$ man ssh

geeft ons de SSH documentatie , die de volgende sectie heeft over ontsnappingskarakters:

ESCAPE CHARACTERS
     When a pseudo-terminal has been requested, ssh supports a number of
     functions through the use of an escape character.

     A single tilde character can be sent as ~~ or by following the tilde by
     a character other than those described below. The escape character
     must always follow a newline to be interpreted as special. The escape
     character can be changed in configuration files using the EscapeChar
     configuration directive or on the command line by the -e option.

     The supported escapes (assuming the default ‘~’) are:

     ~. Disconnect.

     ~^Z Background ssh.

     ~# List forwarded connections.

     ~& Background ssh at logout when waiting for forwarded connection
             / X11 sessions to terminate.

     ~? Display a list of escape characters.

     ~B Send a BREAK to the remote system (only useful if the peer sup‐
             ports it).

     ~C Open command line. Currently this allows the addition of port
             forwardings using the -L, -R and -D options (see above). It
             also allows the cancellation of existing port-forwardings with
             -KL[bind_address:]port for local, -KR[bind_address:]port for
             remote and -KD[bind_address:]port for dynamic port-forwardings.
             !command allows the user to execute a local command if the
             PermitLocalCommand option is enabled in ssh_config(5). Basic
             help is available, using the -h option.

     ~R Request rekeying of the connection (only useful if the peer
             supports it).

     ~V Decrease the verbosity (LogLevel) when errors are being written
             to stderr.

     ~v Increase the verbosity (LogLevel) when errors are being written
             to stderr.
32
32
32
2012-08-28 18:37:35 +0000

Wilt u de SSH-shell verlaten?

U kunt exit typen en op Enter drukken, of Ctrl+D gebruiken.

11
11
11
2014-04-14 15:00:24 +0000

Typ gewoon exit of logout (druk dan op Enter natuurlijk) beide zullen werken.

8
8
8
2016-06-14 22:26:47 +0000

Dit zijn de ondersteunde karakters die verschillende opties bieden waarmee u kunt spelen met ssh.

Ondersteunde escape-sequenties:

~. - terminate session

 ~B - send a BREAK to the remote system

 ~R - Request rekey (SSH protocol 2 only)

 ~# - list forwarded connections

 ~? - this message

 ~~ - send the escape character by typing it twice

(Merk op dat escape-sequenties alleen worden herkend direct na een nieuwe regel.) U kunt de lijst met escape-sequenties sluiten door op Enter te drukken.

3
3
3
2013-07-17 07:12:49 +0000

U kunt logout in de console regel schrijven (en op Enter drukken natuurlijk).

1
1
1
2018-03-29 17:25:28 +0000

MacOS : wanneer ssh hangt gebruik dan de volgende volgorde:

ENTER 
SHIFT+`
.

waar: shift+` produceert ~ (tilde karakter)