Cần giúp đỡ về ssh2_tunnel và curl

Hi anh/chị,

Hiện tại em đang nghiên cứu về ssh2 của php, em đang bị kẹt ở bước này:

<?php
	set_time_limit(0);
	$connection = ssh2_connect('130.156.1.50', 22);
	if(ssh2_auth_password($connection, 'root', 'server'))
	{
	    if ($tunnel = ssh2_tunnel($connection, '127.0.0.1', 80))
	    {
	        $url = "http://checkip.dyndns.com";
	        $agent= 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';
	        $ch = curl_init();
	        curl_setopt($ch, CURLOPT_HEADER, true);
	        curl_setopt($ch, CURLOPT_USERAGENT, $agent);
	        curl_setopt($ch, CURLOPT_URL, $url);
	        curl_setopt($ch, CURLOPT_PROXY, "127.0.0.1:" 80);
	        curl_setopt($ch, CURLOPT_PROXYTYPE, 7);
	        $result = curl_exec($ch);   
	        echo $result;

	    }else{
	        echo "Tunnel creation failed.\n";
	    }
	} 
	else
	{
	    echo "failed!";
	}

?>
  1. Em muốn connect ssh2 từ linux (Centos 6.5) & kiểm tra login của ssh đó —> Em làm đc cái này.
  2. Tạo 1 tunnel để thông qua đó get connect của 1 website như code ở trên sử dụng curl_proxy nhưng không được .

A/chị nào đã từng trải qua trường hợp này có thể hỗ trợ em xử lý đoạn code ngắn trên để kết quả đạt được là:

Sử dụng PHP connect SSH2 rồi tự động tạo proxy từ ssh đó để truy cập đến 1 site!

Em xin gởi tiền caffe là 200-300k tùy vào mức độ code hợp lý nhất ạ!

1 Like

Hình nhu là không dùng curl với ssh tunnel được

http://php.net/manual/en/function.ssh2-tunnel.php

2 Likes

Cám ơn anh đã trả lời bài viết!

Anh có thể gợi ý một cách nào đó để xử lý trường hợp này không ạ

Bạn viết một cái REST API ở remote server rồi cho 2 server tự giao tiếp với nhau thôi. Không cần ssh

1 Like

Dạ vâng! Cám ơn a!..

Đã xong

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?