我一直在寻找关于如何使用它php
来建立与远程服务器的连接并执行命令的解决方案。研究使我注意到了两种解决方案;phpseclib
和ssh2
。我会尽量不让我的问题变成比较帖子。据我所知,它们都是广泛使用的解决方案。ssh2
是一个 php 扩展,phpseclib
而是一个纯 php 库。看来您也可以phpseclib
与 结合使用ssh2
。我更愿意避免需要安装扩展,所以我更倾向于使用phpseclib
. 不过我确实有些担心。
ssh2
有直接文档,php
这是否意味着它是一个更好的解决方案?
我看到的大多数帖子phpseclib
都是几年前的,这仍然是一个“现代”的解决方案吗?
phpseclib
(在这里找到)说它是为php 4
与2.0
面向的兼容性而构建的php 5
。对于那些与之合作的人来说,这是一个可以接受的解决方案php 7
吗?
这是一个使用 anRSA key
建立ssh
连接的示例phpseclib 2.0
require __DIR__ . '/vendor/autoload.php';
use phpseclib\Net\SSH2;
use phpseclib\Crypt\RSA;
$ssh = new SSH2('www.domain.tld');
$key = new RSA();
$key->loadKey(file_get_contents('privatekey'));
if (!$ssh->login('username', $key)) {
exit('Login Failed');
}
echo $ssh->exec('pwd');
我仍然很新,ssh
但如果我正确理解上述内容,只要远程服务器有一个.pub
密钥,我就可以简单地提供我的本地私钥(和用户)的连接,我应该能够连接吗?公钥是否需要在某个特定的地方?