Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pytanie o SSH
Forum PHP.pl > Forum > PHP
Waldek
Witam, mam nastepujacy problem:
mam otworzyc plik tekstowy do odczytu na serwerze z ktorym lacze sie poprzez SSH znam IP serwera, i oczywiscie login i haslo, ale bladego pojecia nie mam jak to zrobic?
BzikOS
Jeśli masz możliwość połączenia się przez FTP to możesz spróbować tak:

[php:1:df08c37861]<?php
// ustaw podstawowe połączenie
$conn_id = ftp_connect($ftp_server);

// zaloguj się nazwą użytkownika i hasłem
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// sprawdź połączenie
if ((!$conn_id) || (!$login_result)) {
echo "Połączenie FTP się nie powiodło!";
echo "Próbowano połączyć się do $ftp_server jako użytkownik"
. $ftp_user_name;
die;
} else {
echo "Połączony z $ftp_server jako użytkownik $ftp_user_name";
}

// pobierz plik
$download = ftp_get ($conn_id, $file, $remotefile, FTP_TEXT);

// sprawdź stan operacji
if (!$download) {
echo "Pobieranie pliku przez FTP się nie powiodło!";
} else {
echo "Pobrano $remotefile z $ftp_server jako $file";
}

// zamknij strumień FTP
ftp_close($conn_id);
?>[/php:1:df08c37861]
divx4u.pl
mozesz kiba prubowac sockeitami ale nie wiem jak to jest z shh pzy telnecie nie mialem wiekszego problemu z odczytem danych od konsoli
kris_
zaloz klucze kryptacyjne RSA bez hasla
sciagnij plik do siebie systemowa komennda scp
i otworz go u siebie
to najprostsze co mi przychodzi do glowy
Waldek
Dzieki z podpowiedzi, poprobuje...
pozdrawiam
adwol
Cytat
zaloz klucze kryptacyjne RSA bez hasla
sciagnij plik do siebie systemowa komennda scp
i otworz go u siebie
to najprostsze co mi przychodzi do glowy

Jakie klucze?questionmark.gif :wink:
Ale faktycznie najlepiej zrobić sobie wejście po kluczu i wołać zewnętrzną komendę scp albo ssh (wtedy jest możliwość przejęcia strumienia bezpośrednio do phpa).
Waldek
OK mozna troche przyblizyc temat kluczy ?... mam tylko login i haslo lacze sie bez problemu przez program WINSPC3.. i w dalszym ciagu nie wiem ja sie polaczyc przez php.
proponowane laczenie sie przez ftp jest niemozliwe, tam po prostu nie ma ftp.
pozdrawiam
kris_
ssh-keygen -t rsa1
lub
ssh-keygen -t rsa
w zaleznosci od protokolu
(przy passphrase wciskamy enter bez podawania hasla)

w /etc/ssh/sshd_config mamy wpis
RSAAuthentication yes

plik identity.pub lub id_rsa.pub kopiujemy na konto do ktorego mamy sie logowac do
/home/uzytkownik/.ssh/authorized_keys
te pliki to klucze publiczne

klucze prywatne trzymamy na koncie z ktorego chcemy sie logowac ale musimy uwazac bo kazdy kto bedzie posiadal nasz klucze prywatne moze spokojnie bez hasla zalogowac sie na konto na ktorym wstawimy klucze publiczne

wchodzimy na konto z kluczem prywatnym
ssh -l uzytkownik server_z_kluczem_publicznym

i nie musimy podawac hasla
oczywiscie zagrozeniem jest kradziez klucza prywatnego ktory bez hasla nie jest chroniony przed uzyciem

Pozdrawiam

Kris
Jabol
[manual:bbbbf7abbc]openssl[/manual:bbbbf7abbc]
uboottd
I niby co dalej ?
adwol
Cytat
[manual:774fea23ff]openssl[/manual:774fea23ff]

openssl nie generuje kluczy dla ssh.
adwol
Cytat
OK mozna troche przyblizyc temat kluczy ?... mam tylko login i haslo lacze sie bez problemu przez program WINSPC3.. i w dalszym ciagu nie wiem ja sie polaczyc przez php.
proponowane laczenie sie przez ftp jest niemozliwe, tam po prostu nie ma ftp.
pozdrawiam

Tak jak Ci napisał kris_ tylko jeśli chcesz połączyć się spod windows to niestety nie poradzę Ci gdzie masz trzymać u siebie klucz prywatny.
Waldek
Tytułem wyjasnienia
nie chodzi mi o otwieranie z poziomu Windows pliku. Mam za zdalnym serwerze plik, ktory chce otwierac i przeszukiwac przez SKRYPT php!
problem jest w tym taki ze nie ma tam innego dostepu tylko przez SSH

pozdrzawiam
kris_
wyjasnijmy sobie jak ja to widze:

Server z SSH i plik w katalogu /usr/local/www/pliki/plik.txt , uzytkownik nazywa sie luzer

Drugi komputer na ktorym jest server php, Apache , klient ssh
odpalasz sktypr ktory odpala komene poprzez polecenie system
scp luzer@server1.pl:/usr/local/www/pliki/plik.txt /tmp/plik.txt
(poniewaz zrobiles to co napisalem wczesniej autentyfikacja nie jest potrzebna i masz od razu plik u siebie
obrabiasz go bo jest w katalogu /tmp/plik.txt

ewentualnie jezeli masz go po obrobce odeslac to pozniej:
scp /tmp/plik.txt luzer@server1.pl:/usr/local/www/pliki/plik.txt

Oczywiscie zadziala tylko jezeli oba servery sa unixowe
jasc
a czy mozna wysłać ten plik.txt bezpośrednio do przegladarki, bez zapisywania go w /tmp ?
adwol
Cytat
a czy mozna wysłać ten plik.txt bezpośrednio do przegladarki, bez zapisywania go w /tmp ?

Kod
ssh uzytkownik@serwer.pl "cat plik.txt"
jasc
Cytat
Kod
ssh uzytkownik@serwer.pl "cat plik.txt"

ok ale jak to bedzie plik graficzny albo video? chyba cat odpada...


Podsumowując, chcąc wstawić zawartość pliku plik.txt na jakimś serwerze serwer.pl do naszej strony php piszemy: [php:1:5ea3e013ba]<pre><? echo `ssh login@serwer.pl "cat plik.txt"`; ?></pre>[/php:1:5ea3e013ba] albo używając [manual:5ea3e013ba]passthru[/manual:5ea3e013ba]()?

Ok ale co z haslem? Trzeba używać tych kluczy? Nie mozna "przemycić" hasła w poleceniu ssh?
adwol
Cytat
ok ale jak to bedzie plik graficzny albo video? chyba cat odpada...

Dlaczego? Plik to plik. Pod uniksem nie ma znaczenia czy plik jest tekstowy czy binarny (w zasadzie pojęcia ,,tekstowy'' i ,,binarny'' w kontekscie pliku pochodzą od DOSa).
Cytat
Podsumowując, chcąc wstawić zawartość pliku plik.txt na jakimś serwerze serwer.pl do naszej strony php piszemy: [php:1:1b6aab4f30]<pre><? echo `ssh login@serwer.pl "cat plik.txt"`; ?></pre>[/php:1:1b6aab4f30] albo używając [manual:1b6aab4f30]passthru[/manual:1b6aab4f30]()?

Tak.
Cytat
Ok ale co z haslem? Trzeba używać tych kluczy? Nie mozna "przemycić" hasła w poleceniu ssh?

Najpopularniejsze klienty SSH (OpenSSH i ssh.com) nie pozwalają na podanie hasła w postaci parametru. Być może jakiś inny na to pozwala, ale nie liczyłbym na to. Jeśli i tak chcesz wpisać hasło na stałe to nie ma raczej problemu z ustaleniem sobie klucza.
jasc
udalo mi sie, klucze dzialaja! biggrin.gif/

ok moze powiecie jak w takim razie wstawic na strone obrazek jpg lub gif sciagniety z innego serwera? chyba nie <img>??
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.