php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 15-08-2003, 12:36
reaVen
 Junior Member
Links : Onlinestatus : reaVen ist offline
Registriert seit: Feb 2003
Beiträge: 173
reaVen ist zur Zeit noch ein unbeschriebenes Blatt
Standard [Fehler] Pseudo-terminal will not be allocated because stdin is not a terminal

Hallo zusammen,

ich habe hier ein komisches Problem.
Ich versuche per PHP shell_exec() mich über ssh auf einen anderen Server zu verbinden. Das mache ich mittels eines rsa-keys damit ich die passwortabfrage umgehe. Den Linux Befehl habe ioch mir nun zusammengebaut und auch wenn ich den Befehl in der Shell ausführe bekomme ich ein directen connect nun habe ich mir mein Script gebaut:

PHP-Code:
<?php

$command 
"ssh -T -l myuser -i ~/.ssh/userkey.key myuser@mein_rechner.de";
shell_exec("$command");
shell_exec("exit");

?>
Nun habe ich in die Logs des Apache geschaut und bekomme folgende Meldung :

Pseudo-terminal will not be allocated because stdin is not a terminal.
Host key verification failed.
Warning: Identity file ~/.ssh/userkey.key does not exist.


ich habe mein Freund google schon befragt aber nicht wirklich schlau geworden.

Ich habe nur in Erfahrung gebracht das ich das -T als option über gebe um
-T Do not allocate a tty.
die eine Meldung zu killen

mit diesem Parameter sieht meine Meldung nur noch so aus :

Warning: Identity file ~/.ssh/userkey.key does not exist.
Host key verification failed.

Kann einer damit was anfangen ?? Ich nämlich nicht ...
__________________
Ein blue screen ist nicht immer was schlimmes... es hängt nur davon ab wo er zu sehen ist !
www.d-creationz.de
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 15-08-2003, 12:54
slarti
 Member
Links : Onlinestatus : slarti ist offline
Registriert seit: Jun 2002
Ort: berlin
Beiträge: 448
slarti ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ganz einfach: "~" ist'ne abk. für dein home-verzeichnis,
und da der apache sicherlich nicht unter deiner id läuft, sucht er halt woanders.
__________________

eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");
Mit Zitat antworten
  #3 (permalink)  
Alt 15-08-2003, 13:01
reaVen
 Junior Member
Links : Onlinestatus : reaVen ist offline
Registriert seit: Feb 2003
Beiträge: 173
reaVen ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von slarti
ganz einfach: "~" ist'ne abk. für dein home-verzeichnis,
und da der apache sicherlich nicht unter deiner id läuft, sucht er halt woanders.
Das mit der ~ ist mir klar und der apache hat sein homedir in /etc/httpd/
und dort liegt auch das verzeichniss mit dem key.
Wenn ich mit exec oder shell_exec was ausführe bin ich immer httpd das kann man nicht ändern. ich habe es auch mit absoluten Pfad angaben versucht vom root aus /etc/httpd/.ssh/userkey.key

den connect mache ich ja als ein anderer user (-l myuser) für den auch das Zertifikat erstellt wurde. Oder MUSS ich den connect als httpd machen ?
Hierbei ist nur das Problem das auf dem anderen Server auch ein Apache läuft.
__________________
Ein blue screen ist nicht immer was schlimmes... es hängt nur davon ab wo er zu sehen ist !
www.d-creationz.de
Mit Zitat antworten
  #4 (permalink)  
Alt 15-08-2003, 13:55
Konrad
 Junior Member
Links : Onlinestatus : Konrad ist offline
Registriert seit: Jul 2003
Beiträge: 107
Konrad ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wie isses mit

"ssh -vT -l myuser -i ".$mein_pfad."/.ssh/userkey.key mein_rechner.de"
__________________
Konrad

In a world without walls and fences, who needs Windows and Gates ?
(Sun Microsystems)
Mit Zitat antworten
  #5 (permalink)  
Alt 15-08-2003, 13:57
slarti
 Member
Links : Onlinestatus : slarti ist offline
Registriert seit: Jun 2002
Ort: berlin
Beiträge: 448
slarti ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Oder MUSS ich den connect als httpd machen ?
...nö, mußt nich.
Zitat:
Warning: Identity file ~/.ssh/userkey.key does not exist.
...aber da steht, das er dat file nicht findet... also muß es am pfad liegen

mach doch einfach mal 'su httpd' und versuch mal, dich so zu connecten...
kann sein, das er den ersmal bei ssh.hosts eintragen muß...
__________________

eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");
Mit Zitat antworten
  #6 (permalink)  
Alt 15-08-2003, 14:26
reaVen
 Junior Member
Links : Onlinestatus : reaVen ist offline
Registriert seit: Feb 2003
Beiträge: 173
reaVen ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Konrad
Wie isses mit

"ssh -vT -l myuser -i ".$mein_pfad."/.ssh/userkey.key mein_rechner.de"
Der -v Parameter ist ein guter Tip. Wer man ssh lesen kann ist klar im Vorteil.

Folgende Ausgabe in den Logs...

debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Rhosts Authentication disabled, originating port will not be trusted.
debug1: ssh_connect: needpriv 0
debug1: Connecting to meinrechner [***.***.***.***] port 22.
debug1: Connection established.
debug1: identity file /etc/httpd/.ssh/identity type -1
debug1: identity file /etc/httpd/.ssh/id_rsa type -1
debug1: identity file /etc/httpd/.ssh/id_dsa type -1
debug1: Remote protocol version 1.99, remote software version OpenSSH_3.4p1
debug1: match: OpenSSH_3.4p1 pat OpenSSH*
Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_3.4p1
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: dh_gen_key: priv key bits set: 122/256
debug1: bits set: 1584/3191
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
Host key verification failed.
debug1: Calling cleanup 0x80660a0(0x0)

Soweit ich das erkenne läuft es gut bis zu der stelle debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY da er dann failed oder ?
__________________
Ein blue screen ist nicht immer was schlimmes... es hängt nur davon ab wo er zu sehen ist !
www.d-creationz.de
Mit Zitat antworten
  #7 (permalink)  
Alt 15-08-2003, 15:36
Konrad
 Junior Member
Links : Onlinestatus : Konrad ist offline
Registriert seit: Jul 2003
Beiträge: 107
Konrad ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Nö, das sieht auch bei ner sauberen Verbindung so aus.

Dein Problem ist Host key verification failed

Hab hier mal was gefunden, weiss aber net, ob das hilft oder ggf. unsicher ist:
Zitat:
Host key verification failed.

And access will be denied. At this point, you have two options:

1) Manually edit the file known_hosts in your .ssh directory to remove the offending line. With this option, you will be able to connect the first time you try, but after that, you will have the same problem. (Because each subsquent login will have different host keys).

2) Create a file called "config" in your .ssh directory and put the following line:

StrictHostKeyChecking no

This will tell your ssh client to not check the validity of the host keys of the machines you are connecting with. This is only recommended for users that KNOW they are going to have this problem.
http://cc.jlab.org/docs/services/uni...grade-faq.html
__________________
Konrad

In a world without walls and fences, who needs Windows and Gates ?
(Sun Microsystems)
Mit Zitat antworten
  #8 (permalink)  
Alt 15-08-2003, 16:16
reaVen
 Junior Member
Links : Onlinestatus : reaVen ist offline
Registriert seit: Feb 2003
Beiträge: 173
reaVen ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Jo danke schonmal,

ich versuche es mal. Allerding muss das bei mir sicher sein. ich habe mir auch mal nochmehr Parameter mit +vvv ausgeben lassen. mal sehn ob ich es irgendwie hin bekomme daraus schlau zu werden.
Das mit dem config file hatte ich auch mal gelesen aber das mit der einstellung habe ich allerdings nicht gefunden.
Mal ausprobieren.
Die Lösung 2 denke ich würde bestimmt klappen allerdings inakzeptabel wegen secure aspekten.
__________________
Ein blue screen ist nicht immer was schlimmes... es hängt nur davon ab wo er zu sehen ist !
www.d-creationz.de
Mit Zitat antworten
  #9 (permalink)  
Alt 18-08-2003, 10:45
reaVen
 Junior Member
Links : Onlinestatus : reaVen ist offline
Registriert seit: Feb 2003
Beiträge: 173
reaVen ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo nochmal irgenweie funzt es noch immer nicht.
Ich habe nun mal alle Rechte auf 600 gesetzt. Da SSH sich weigert eine Connection aufzubauen wenn das .ssh-Verzeichniss oder das home Verzeichniss des Users Schreibrechte der Group haben.

PHP-Code:
$command "ssh -vTn -l myuser -i /etc/httpd/.ssh/mykey.key myuser@meinrechner";
exec($command$encrypted$errorcode);
shell_exec("exit");


echo 
"$command, $encrypted, $errorcode<br>";
$anz count($encrypted);
for (
$i=0;$i<$anz;$i++)
{
echo 
"$encrypted[$i]<br>";

habs mal mit exec probiert und mir den errorcode ausgeben lassen.
hier taucht 255 auf. Was bedeutet das ?
__________________
Ein blue screen ist nicht immer was schlimmes... es hängt nur davon ab wo er zu sehen ist !
www.d-creationz.de
Mit Zitat antworten
  #10 (permalink)  
Alt 18-08-2003, 17:10
reaVen
 Junior Member
Links : Onlinestatus : reaVen ist offline
Registriert seit: Feb 2003
Beiträge: 173
reaVen ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ok der connect klappt jetzt.... endlich.
Nun eine kleine Frage. wie führe ich mehrere Befehle hintereinander aus ???

Ich dachte mich | was er auch prinzipel macht das problem auf der Falschen maschine.

PHP-Code:
$command "ssh  -tv -l user-i /home/sites/site1/users/user/.ssh/userkey.key user@rechner | touch /home/sites/home/users/user/test"
dann legt er mir auf meiner maschine ein file mit dem namen test an nicht aber auf der ich mich mit ssh verbunden habe.
hat einer ne idee ?
__________________
Ein blue screen ist nicht immer was schlimmes... es hängt nur davon ab wo er zu sehen ist !
www.d-creationz.de
Mit Zitat antworten
  #11 (permalink)  
Alt 19-08-2003, 12:51
reaVen
 Junior Member
Links : Onlinestatus : reaVen ist offline
Registriert seit: Feb 2003
Beiträge: 173
reaVen ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ok für alle die es interessiert was ja anscheinend nicht viele sind. Ich gebe zu das ist ein sehr spezielles Thema, vielleicht deshalb so wenig Feedback.

Howtodo:

Hinweise:
Php Skripte werden auf der Maschine immer als User HTTPD ausgefüht. Dem entsperchend müssen die Ordner für den User HTTPD zugänglich sein.

Step1:
Erstelle einen User auf beiden Maschinen ink. Homeverzeichniss z.B. reaven.
Nun melde dich als reaven an und erstelle ein Zertifikat

Code:
ssh-keygen -t rsa
Gebe einen Keynamen an und nach wunsch ein Phrases.
Nun hast du den private und den public key. schiebe diesen in .ssh

Gehe auf die Maschine auf die du dich connecten willst in das homeverzeichnis reaven

Code:
cd ~reaven
erstelle hier das verzeichniss .ssh (1) und wechsel(2) in das Verzeichniss und erstelle weitere Dateien (3):

Code:
mkdir .ssh   (1)
cd .ssh   (2)
touch authorized_keys (3)
touch known_hosts (3)
touch config                (3)    //optional
Gehe auf die Maschine 1 mache ein

Code:
cat Keynamen.pub
kopiere die Ausgabe wechsel auf machine 2 und mache ein :

Code:
vi ~reaven/.ssh/authorized_keys
und paste den code des schlüssels.

Verbinde dich von Maschine 1 per sftp oder wie auch immer auf die Maschine 2 und schiebe den Keynamen.pub in das .ssh Verzeichniss auf M2.

So weit zur Datei anlage. Nun die Rechte vergeben...

Maschine 1 ~reaven:
Code:
chmod 700 -R .ssh
cd .ssh
chmod 600 Keynamen
chmod 644 Keynamen.pub
chmod 644 known_hosts
cd ..
chown httpd -R .ssh
Maschine 2 ~reaven:

Code:
chmod 700 -R .ssh
cd .ssh
chmod 777 known_hosts 
chmod 644 authorized_keys
chmod 644 Keynamen.pub
chmod 600 config   /wenn vorhanden
cd ..
chown reaven -R .ssh
cd .ssh
chown root known_hosts
Zu beachten ist noch das die homeverzeichniss des users keine Schreibrechte der Gruppe haben.

Soweit die Bedingungen das es funktioniert.
nun das eigentliche Skript:

PHP-Code:
// SSH Connection 
$command "ssh  -tv -l reaven -i /home/sites/users/reaven/.ssh/Keynamen.key [email]reaven@maschine2.de[/email]  \"ls ;  touch /home/sites/users/reaven/testfile\"";

// SFTP Connecttion
$command2 "sftp -oIdentityFile=/home/sites/users/reaven/.ssh/Keynamen.key -b /home/sites/web/batch.ftp  [email]reaven@maschine2.de[/email]";

exec($command$encrypted$errorcode);

echo 
"Command1: $command, $encrypted, $errorcode<br>";

$anz count($encrypted);
for (
$i=0;$i<$anz;$i++)
{
echo 
"$encrypted[$i]<br>";
}
//echo "Command2: $command, $encrypted, $errorcode<br>";
exec("exit"); 
So das wars. Du hast nun auf der Maschine 2 ein Touch ausgeführt.
Viel Spass beim einrichten
__________________
Ein blue screen ist nicht immer was schlimmes... es hängt nur davon ab wo er zu sehen ist !
www.d-creationz.de
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

SMT

Server Monitoring & Management Tool Das SMT wurde von einem Administrator für Administratoren entwickelt, es vereinfacht den Alltag in der klassischen Administration und Verwaltung. Mit dem SMT kannst Du alle Deine Server & Dienste verwalten und überwach

04.09.2020 palle_1977 | Kategorie: PHP
numaeks Web-Farbmixer

Die RGB-Farben lassen sich hier auf unterschiedliche Weise mischen. Zur Einstellung werden auch die Dreh- und Schieberegler mit Canvas verwendet. Gespeichert werden die Farben in einem Cookie.

04.09.2020 numaek | Kategorie: JAVASCRIPT/ Tools
phplinX-Erotikportal 4 ansehen phplinX-Erotikportal 4

Erweiterbares Portal speziell für Erotik mit den Modulen Webkatalog, Bannermanagement und Kleinanzeigenmarkt. Sämtliche Module können über einen einzigen Adminbereich verwaltet werden.

18.06.2020 Cosinus14 | Kategorie: PHP/ Anzeigenmarkt
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:23 Uhr.