2010-10-10, 14:59
  #1
Medlem
gothxxs avatar
Hej, har inte så stor koll på bash ännu, men detta är vad jag vill åstadkomma
använder ubuntu

1. Köra ssh kommando
2. Skriva in lösenordet automatiskt
3. Köra ett kommando efter anslutits
4. Behålla terminalen öppen

Så här ser det ut just nu,
Kod:
#!/bin/bash          
ssh hejsan@hoppsan.com -p 44321

sen är jag ute och cyklar
wait på nått sätt tills anslutning är upprättad
Lösen i klartext ? detta vill jag ju inte egentligen
wait tills ansluten
kommando
Citera
2010-10-10, 15:19
  #2
Om inloggningen ska ske automatiskt går det att göra ett script för att ange lösenordet, men som du säger kommer lösenordet att då behöva skrivas i klartext i scriptet. Någonting som är minst lika enkelt och ännu säkrare är att använda sig av publika nycklar för att slippa ange ett lösenord vid inloggning.
Citera
2010-10-10, 15:29
  #3
Medlem
Logisks avatar
Har inte testat, men det kanske funkar att ansluta med ssh användarnamn:lösenord@server.com?
Citera
2010-10-10, 20:14
  #4
Medlem
gothxxs avatar
Citat:
Ursprungligen postat av mamooshka
Om inloggningen ska ske automatiskt går det att göra ett script för att ange lösenordet, men som du säger kommer lösenordet att då behöva skrivas i klartext i scriptet. Någonting som är minst lika enkelt och ännu säkrare är att använda sig av publika nycklar för att slippa ange ett lösenord vid inloggning.

Och hur använder jag detta i bash?
Citera
2010-10-10, 20:21
  #5
Medlem
hashs avatar
Citat:
Ursprungligen postat av gothxx
Hej, har inte så stor koll på bash ännu, men detta är vad jag vill åstadkomma
använder ubuntu

1. Köra ssh kommando
2. Skriva in lösenordet automatiskt
3. Köra ett kommando efter anslutits
4. Behålla terminalen öppen

Så här ser det ut just nu,
Kod:
#!/bin/bash          
ssh hejsan@hoppsan.com -p 44321

sen är jag ute och cyklar
wait på nått sätt tills anslutning är upprättad
Lösen i klartext ? detta vill jag ju inte egentligen
wait tills ansluten
kommando

Börja med att ge din användare automatisk inloggning på den burken du vill köra ssh mot.
Läs länken: http://magicmonster.com/kb/net/ssh/auto_login.html

Sedan kör du med följande exempel i ditt script.
ssh user@remote-host 'ls -l'
Ovan exekverar kommandot ls -l på remote burk.
Citera
2010-10-11, 16:15
  #6
Medlem
gothxxs avatar
Citat:
Ursprungligen postat av hash
Börja med att ge din användare automatisk inloggning på den burken du vill köra ssh mot.
Läs länken: http://magicmonster.com/kb/net/ssh/auto_login.html

Sedan kör du med följande exempel i ditt script.
ssh user@remote-host 'ls -l'
Ovan exekverar kommandot ls -l på remote burk.

Tack för svar, skall testa och återkommer om det inte funkar. Hålls terminalen öppen efter att kommandot är exekverat?

Mitt mål är att ha en bashfil för att ansluta med ssh till en server och köra screen och irssi därifrån.
Citera
2010-10-12, 05:45
  #7
Medlem
Synt4x_3rr0rs avatar
Är det så jobbigt att göra det manuellt då?
Jag har gjort det så att jag har skapat ett alias i min ~/.bashrc fil för att ansluta till min filserver som ser ut såhär:

Kod:
alias negerbulle="ssh -p 2223 synt4x@192.168.1.3"

Sen har jag konfat min användare att ha automatisk inloggning på ssh som nämndes tidigare. Då behöver jag alltså bara skriva "negerbulle" i terminalen och sen är jag inne på datorn. Sen bara kör man screen och startar det man vill ha, och sen kan man stänga det när man vill. För att få upp det igen loggar man in på datorn igen och skriver "screen -raAd".
Citera
2010-10-16, 22:39
  #8
Medlem
Detta funkar om du kör OpenSSH på burkarna.

På den maskin du vill logga in FRÅN skriver du
Citat:
ssh-keygen -t rsa
Hoppa över passphrase i frågorna som följer
Du har nu en nyckel i katalogen ~/.ssh/ med namnet id_rsa.pub
Du får sedan använda vilken metod du vil för att få över denna fil till maskinen du vill logga in PÅ. När du väl har filen på den andra maskinen skriver du (på remote maskinen alltså)
Citat:
cat id_rsa.pub >> ~/.ssh/authorized_keys
Citera
2010-10-18, 01:14
  #9
Medlem
Att skriva in lösen automatisk underminerar hela idén med ssh ganska mycket, verkar det som.. men, men ...
Citera
2010-10-18, 01:43
  #10
Citat:
Ursprungligen postat av Absurd-suprnovA
Att skriva in lösen automatisk underminerar hela idén med ssh ganska mycket, verkar det som.. men, men ...
Uhm va? Idén med SSH handlar inte om ifall man skriver in ett lösenord manuellt eller inte...
Citera
2010-10-18, 02:01
  #11
Medlem
SSHs avatar
Citat:
Ursprungligen postat av Absurd-suprnovA
Att skriva in lösen automatisk underminerar hela idén med ssh ganska mycket, verkar det som.. men, men ...
Man kan få en viss säkerhet, även med automatisk inloggning. Det går bland annat att ställa in i authorized_keys så att en nyckel enbart kan användas för vissa kommandon och från vissa adresser. För mer information se:
Kod:
man sshd | less -p "AUTHORIZED_KEYS FILE FORMAT"

Ett alternativ till att låta användaren skicka med ett godtyckligt kommando är att ha en skript på datorn som anslutningarna görs till och enbart låta det köras. Man måste dock skriva skriptet på så vis att användaren inte kan köra andra kommandon än de som är tänkta, vilket kan vara mycket svårt (det är enkelt att göra förbiseenden). Skriptet måste också självfallet vara skrivskyddat från obehöriga användare (vilket inkluderar användaren som inloggningen görs som).

Man kan ju också självfallet ha en speciell användare som enbart är till för körningar av skriptet.

Det är för övrigt rätt så vanligt att säkerhetskopieringsskript som använder rsync gör automatiska inloggningar över ssh. En guide:
http://troy.jdmz.net/rsync/index.html
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in