Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  5 983
Hei

Jeg lagde et perl script hvor jeg brukte ssh i backticks og når jeg kun bruke "ssh (maskin) (kommando)" så fungerte det fint når jeg skrev inn navnet "localhost", men når jeg brukte en variabel så koblet scriptet seg til ssh serveren (så den tolket variabelen korrekt), men når den utførte kommandoen så begynte scriptet bare å henge. Jeg så ifølge sshd loggen at scriptet fikk logget inn (jeg skrev inn passordet selv og så hengte scriptet).

Jeg hørte med noen perl folk og de sa at jeg bare kunne bruke "-n" opsjonen og da fungerte scriptet uten problemer med variabelen. Når jeg leser man siden til ssh om opsjonen "-n" og "-f" som er relatert så skjønner jeg ikke helt hva som menes, jeg skjønner ikke hvordan "-n" opsjonen og "-f" opsjonen brukes. Jeg har søkt en del på google andre andre søkmotorer som cuil, men jeg har ikke funnet en webside som inneholdt noen beskrivelse av -n opsjonen for ssh. Jeg fant websider som hadde man siden limt inn, men det var det eneste.

Er det noen som kan forklare meg på en bedre måte enn man siden hvordan "-n" opsjonen til ssh kommandoen fungerer ? Jeg har vanligvis ikke noe problemer med å skjønne man sider og jeg søker på google og finner bedre forklaringer hvis jeg ikke skulle skjønne de, men her har jeg ikke funnet noen sider for forklarer denne opsjonen bedre.

Takker for alle svar.
Sist endret av exceed; 16. januar 2009 kl. 20:08.
Trigonoceps occipita
vidarlo's Avatar
Donor
-n er da veldig klart dokumentert her:
Sitat av man ssh
-n Redirects stdin from /dev/null (actually, prevents reading from
stdin). This must be used when ssh is run in the background.
Vis hele sitatet...
Stort enklare og meir konsis forklaring enn det er vel neppe mulig å lage? Kort sagt blir standard input satt til /dev/null, slik at tastetrykk o.l. ikkje blir overført.
Sist endret av vidarlo; 16. januar 2009 kl. 20:11.
Trådstarter
At den er klart dokumentert for betyr ikke nødvendigvis at den er like klart dokumentert for andre

Hva som menes med at tastetrykk ikke blir overført skjønner jeg ikke. Skjønner at stdin blir satt til /dev/null.
Trigonoceps occipita
vidarlo's Avatar
Donor
http://upload.wikimedia.org/wikipedia/commons/7/70/Stdstreams-notitle.svg

Vanligvis er stdin tilkopla tastaturet. All tekst program les frå CLI kjem via stdin. Det -n gjer er å sette stdin = /dev/null. På mange unixsystemer eksisterer den som /dev/stdin. Kanskje du kan lese litt på wikipedia? Der står ein del om standard IO-strømmer.

/dev/null er null. Ingenting. Tom. Den returnerer absoulutt ingenting før EOF. Så når programmer les frå stdin (som jo er satt til /dev/null) så får det absoulutt null data. Kva du skriv på tastaturet har ikkje noko å sei, ettersom det ikkje har forbindelse med /dev/stdin.
Sist endret av vidarlo; 16. januar 2009 kl. 20:37.
Trådstarter
Ok, ja skal lese noen artikkeler og på wikipedia om std io strømmer og shellet.

Jeg skriver jo på tastaturet når jeg logger meg inn på ssh serveren så ssh må lese dette på en eller annen måte, og når du skriver at uansett hva en skriver på tastaturet så har ikke det noe å si så skjønner jeg ikke hvordan den får lest passordet. Men ser du skrev at den ikke returnerer noe før EOF, betyr dette at ssh ikke tar imot noe data uansett før du har tastet passordet (som blir EOF) og når en ikke har -n opsjonen så leser den fra /dev/stdin og prøver å utføre kommandoen før en har logget inn ?
Cowboy Coder
Sitat av exceed Vis innlegg
Jeg skriver jo på tastaturet når jeg logger meg inn på ssh serveren så ssh må lese dette på en eller annen måte, og når du skriver at uansett hva en skriver på tastaturet så har ikke det noe å si så skjønner jeg ikke hvordan den får lest passordet.
Vis hele sitatet...
Det er enklere om du setter opp klient/server til å bruke public key authentication, isteden for å "stresse" med passord.

Howto: http://www.petefreitag.com/item/532.cfm