Käynnistän gnu-näytön automaattisesti, kun ssh yhdeksi omissa palvelimissani. Kun olen valmis, minun on irrotettava. Lopeta sitten sulkeaksesi ssh: n. Tämä tarkoittaa, että kun palaan palvelimeen uudelleen jossain vaiheessa, voin jatkaa siitä, mihin jäin.
Voinko luoda aliaksen (esimerkiksi), joka (ruudulta) irrottaa ja pudottaa ssh: n?
Kommentit
vastauksen
Aloitetaan screen
, kun kirjaudut sisään etäisäntään (suoritetaan paikallisella koneellasi):
ssh -t user@host screen
Näytössä istunnon etäisännässä irrota ja kirjaudu ulos (mikä lopettaa SSH-istunnon, ellet käytä pysyvää yhteyttä ohjausliitännän kautta (ts. ControlMaster
-asetusta ControlPersist
ryhmässä ~/.ssh/config
)):
screen -d
Kirjaudu sisään myöhemmin ja liitä uudelleen:
ssh -t user@host screen -r
Huomaa, että sinun on käytettävä -t
kanssa ssh
pakottaen pseudoterminaalin allokoinnin aloittamaan screen
tällä tavalla.
Etäkoneen aliakseksi tulee f tai screen -d
, ehkä detach="screen -d"
tai jotain vastaavaa.
Paikallisessa isännässä sinulla voi olla osa ~/.ssh/config
-tiedosto sanomalla
Host *-screen RequestTTY force RemoteCommand screen -d -R Host myhost myhost-screen HostName myhost.somedomain.example.com User myname
Sitten, kun käytät
ssh myhost-screen
screen
-istunto luodaan (tai liitetään uudelleen) määritettyyn isäntään, kun taas
ssh myhost
ei käytä screen
.
Huomaa: RemoteCommand
lisättiin OpenSSH 7.6: een (2017 -10-03).
Mille tmux
:
- Käytä
tmux new-session -A -s "%n"
kohdassa~/.ssh/config
screen -d -R
: n sijaan. - Käytä etuliite d tai
tmux detach-client
taitmux detach
irti.
Kommentit
- Hienoa, thx. Kotona tämä toimii hyvin. En tiennyt ' pseudo-tty-varauksen pakottamisesta '. Testasin tämän ja se toimii.
Vastaa
Kun suoritat näyttökomennon näytön palauttamiseksi tai luomiseksi , jälkeen lisätään tapaus sinusta vanhemman kuoresta, jotta voit tappaa sinut ssh-yhteyden.
esimerkki vanhempani prosessin tappamisesta, jos vanhempi on bash
kill $( ps -ax -o pid,ppid,args | grep "^$$ " | grep bash | awk "{print $2} " )
Kommentit
- Thx. Jos saapun sisään mistä tahansa, mistä en voi määritellä suoritettavaa sovellusta (kuten online-ssh app.shellngn.com ), ja muutan koodirivisi etsi ssh-istuntoja, tämä toimii.
screen