gpt4 book ai didi

PHPSecLib 受密码保护的 RSA 和用户身份验证

转载 作者:行者123 更新时间:2023-12-02 13:49:11 27 4
gpt4 key购买 nike

我正在尝试使用 PHPSecLib 通过 PHP 中的 SFTP 连接到 SSH2 服务器。但我的问题是,服务器需要一个受密码保护的 key 文件,还需要用户名和密码。似乎只能提供用户名+密码或用户名+ key 文件(可选密码保护)。

我怎样才能使用所有这些东西登录?

http://phpseclib.sourceforge.net/

我的代码看起来像

$key = new Crypt_RSA();
$key->setPassword('keypwd');
$key->loadKey(file_get_contents('ssh_file.ppk'));

$sftp = new Net_SFTP('hostname', 22);

if (!$sftp->login('username', $key))
echo 'Failed';
else
echo 'Success';

但是我应该把“密码”放在哪里?

-- 编辑:服务器只需要 RSA key ,但不知何故, key 未正确加载

最佳答案

有一个示例指定如何加载受密码保护的 key 文件 on the phpseclib website .注意 $key->setPassword('whatever');

<?php
include('Net/SSH2.php');
include('Crypt/RSA.php');

$ssh = new Net_SSH2('www.domain.tld');
$key = new Crypt_RSA();
$key->setPassword('whatever');
$key->loadKey(file_get_contents('privatekey'));
if (!$ssh->login('username', $key)) {
exit('Login Failed');
}

echo $ssh->exec('pwd');
echo $ssh->exec('ls -la');

请记住,您不会将密码发送到服务器。您只需要密码即可成功加载 key 文件。然后将用户名和 key 发送到服务器以对您进行身份验证。

关于PHPSecLib 受密码保护的 RSA 和用户身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13635018/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com