Bonjour à tous,
J'ai un serveur PHP qui n'est pas relié directement à internet et j'ai besoin d'établir une connexion SFTP.
Facile me direz-vous, suffit d'ouvrir un tunnel via un serveur de rebond.
Moué, bah je galère ! (sauf si je fais fausse route)
Indépendamment, les 2 accès fonctionnent. Je sais effectuer une connexion SSH sur mon serveur de rebond. Le serveur SFTP fonctionne depuis mon PC.
Mais inutile de tourner autour du pot, voici du code.
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <?php $tunnel_ip='172.16.0.2'; $tunnel_port='22'; $tunnel_user='user'; $tunnel_pwd=''; $ssh_ip='ip_address'; $ssh_port='2222'; $ssh_user='user'; $ssh_pwd='password'; $connection = ssh2_connect($ssh_ip, $ssh_port); ssh2_auth_password($connection, $ssh_user, $ssh_pwd); $tunnel = ssh2_tunnel($connection, $tunnel_ip, $tunnel_port); $sftp = ssh2_sftp($connection); $statinfo = ssh2_sftp_stat($sftp, '/'); var_dump($statinfo);
Ce que je ne comprends pas c'est qu'à aucun moment, la doc n'explique comment s'authentifier sur le tunnel. Les accès du tunnel ne sont pas nécessairement identiques au serveur cible.PHP Warning: ssh2_connect(): Unable to connect to x.x.x.x on port 2222 in /var/www/test.php on line 14
PHP Warning: ssh2_connect(): Unable to connect to x.x.x.x in /var/www/test.php on line 14
PHP Warning: ssh2_auth_password() expects parameter 1 to be resource, boolean given in /var/www/test.php on line 15
PHP Warning: ssh2_tunnel() expects parameter 1 to be resource, boolean given in /var/www/test.php on line 17
PHP Warning: ssh2_sftp() expects parameter 1 to be resource, boolean given in /var/www/test.php on line 19
PHP Warning: ssh2_sftp_stat() expects parameter 1 to be resource, null given in /var/www/test.php on line 20
Bref, tout aide sera la bienvenue.
Partager