Jalankan perintah SSH melalui PHP di server A ke server B.
Berikut ini cara menjalankan perintah ssh dengan baris perintah di linux:http://www.youtube.com/watch?NR=1&feature=fvwp&v=YLqqdQZHzsU
Untuk menjalankan perintah di linux dengan PHP gunakan perintah exec().
Saya harap ini akan membuat Anda mulai melihat ke arah yang benar.
Lihat dua postingan ini untuk mengotomatiskan prompt kata sandi
- https://serverfault.com/questions/241588/how-to-automate-ssh-login-with-password
- https://serverfault.com/questions/187036/execute-ssh-command-without-password
Berikut adalah contoh cepat dengan tidak berfungsi kode untuk membuat Anda berpikir:
<?php
$server = "serverB.example.org";
//ip address will work too i.e. 192.168.254.254 just make sure this is your public ip address not private as is the example
//specify your username
$username = "root";
//select port to use for SSH
$port = "22";
//command that will be run on server B
$command = "uptime";
//form full command with ssh and command, you will need to use links above for auto authentication help
$cmd_string = "ssh -p ".$port." ".$username."@".$server." ".$command;
//this will run the above command on server A (localhost of the php file)
exec($cmd_string, $output);
//return the output to the browser
//This will output the uptime for server B on page on server A
echo '<pre>';
print_r($output);
echo '</pre>';
?>
Alur yang disarankan adalah menjalankan perintah di server A ke SSH ke server B
Gunakan phpseclib untuk mengamankan SSH atau SCP ke server jarak jauh
Instal dengan composer require phpseclib/phpseclib
use phpseclib\Crypt\RSA;
use phpseclib\Net\SSH2;
use phpseclib\Net\SCP;
// Load your private key
$key = new RSA();
$key->loadKey('private key string');
// Connect to the server
$ssh = new SSH2('ip_address', 'port', 'timeout');
if (!$ssh->login('username', $key)) {
throw new Exception("Unable to connect");
}
// Run a remote command
echo $ssh->exec('whoami');
// SCP put a string
$result = (new SCP($ssh))->put('remotePath', 'content to put');
// SCP put a file
$result = (new SCP($ssh))->put('remotePath', 'localPath', SCP::SOURCE_LOCAL_FILE);
// SCP get a file
$result = (new SCP($this->ssh))->get('remotePath', 'localPath');
// $result is true or false
XAMPP:Daemon server web lain sudah berjalan?
Bagaimana cara mendekode entri /proc/pid/pagemap di Linux?