SSH2 函数
在线手册:中文 英文
PHP手册

ssh2_auth_password

(PECL ssh2 >= 0.9.0)

ssh2_auth_passwordAuthenticate over SSH using a plain password

说明

bool ssh2_auth_password ( resource $session , string $username , string $password )

Authenticate over SSH using a plain password

参数

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

username

Remote user name.

password

Password for username

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE.

范例

Example #1 Authenticating with a password

<?php
$connection 
ssh2_connect('shell.example.com'22);

if (
ssh2_auth_password($connection'username''secret')) {
  echo 
"Authentication Successful!\n";
} else {
  die(
'Authentication Failed...');
}
?>


SSH2 函数
在线手册:中文 英文
PHP手册
PHP手册 - N: Authenticate over SSH using a plain password

用户评论:

webdr at sonic dot net (17-Nov-2011 11:47)

Looking for keyboard-interactive method support?

http://sourceforge.net/projects/phpseclib/

ammarmar at wp dot pl (14-Mar-2008 11:31)

This function will only work if SSH server has 'password' authentication method enabled.

It won't work if only 'keyboard-interactive' is enabled (is there a way to override this in PHP?).

To check what methods of authentication are alowed, use ssh2_auth_none.

wally at soggysoftware dot co dot uk (11-Apr-2007 11:09)

This function is useful for authenticating website clients against local (or remote) Unix users.

I'd played around with Apache+PAM, various mod_auths and homebrewed shell programs and even NIS, but to authenticate a user against a Unix shadow file fundamentally requires root priviledges, so either your PHP script needs root or an external program needs it's sticky bit set.  Both of these have *serious* security implications.

Using SSH, the overhead is obviously going to be greater but you're trusting a root service that's been (and continues to be) really well tested.  Just try authing with SSH against localhost (or another host if you want).

noels01 at gmx dot net (29-Aug-2005 01:56)

Do not try to authenticate or log in more than once on a ssh2 connection. It won't work. You'll need a new connection via ssh2_connect() which will result in a poor performance if you're doing several connects to the same server.

(06-Jun-2005 03:49)

The sshd you are trying to connect to requires PasswordAuthentication yes in its sshd_config file.

Most normal SSH features work with this off, but this requires it on. Note, this defaults to off in FreeBSD 5.x