我有一个项目,使用phpseclib连接思科和H3C交换机设备。
这些设备的密码不是different.so我必须尝试测试这些密码,当我第一次登录这些设备。
我编写了一些代码来在密码列表中查找正确的密码,但是正确的密码只有在第一次用于登录时才有效。
function loginssh_keybo(){
$user = user::find()->all();
$ssh = new SSH2($this->ip);
if (@$ssh->login($user[$this->i]->username, $user[$this->i]->password)) {
return $ssh;
}else{
return false;
}
}
function loginssh_pass(){
$user = user::find()->all();
$ssh = new SSH2($this->ip);
if (@$ssh->login($user[$this->i]->username, $user[$this->i]->password, $user[$this->i]->password)) {
return $ssh;
}else{
return false;
}
}
function loginssh()
{
$user = user::find()->all();
$max = 3;
$this->i = 0;
do {
if (@$ssh=$this->loginssh_keybo()) {
$this->islogin = True;
break;
} elseif (@$ssh=$this->loginssh_pass()) {
$this->islogin = True;
break;
} elseif
($this->i > $max) {
return false;
}
$this->i += 1;
} while (!$this->islogin);
$this->user = $user[$this->i]->username;
$this->password = $user[$this->i]->password;
return $ssh;
}发布于 2017-07-04 08:18:06
来自https://github.com/phpseclib/phpseclib/issues/1144
if ($ssh->login('username', 'password1')) {
return true;
}
if ($ssh->login('username', 'password2')) {
return true;
}
if ($ssh->login('username', 'password3')) {
return true;
}
return false;https://stackoverflow.com/questions/44777332
复制相似问题