PECL SSH2 fork. ssh2_auth_password now supports keyboard_interactive method.
Use the following source:-
https://sourceforge.net/projects/phpssh2lib/
compilation method remains same
phpize
./configure --with-ssh2
make
make install
ssh2_auth_password
(PECL ssh2 >= 0.9.0)
ssh2_auth_password — SSH 上でプレーンなパスワードを使用した認証を行う
説明
bool ssh2_auth_password
( resource
$session
, string $username
, string $password
)SSH 上でプレーンなパスワードを使用した認証を行います。
パラメータ
-
session -
ssh2_connect() のコールによって取得した SSH 接続リンク ID。
-
username -
リモートのユーザー名。
-
password -
usernameのパスワード。
返り値
成功した場合に TRUE を、失敗した場合に FALSE を返します。
例
例1 パスワードを用いた認証
<?php
$connection = ssh2_connect('shell.example.com', 22);
if (ssh2_auth_password($connection, 'username', 'secret')) {
echo "Authentication Successful!\n";
} else {
die('Authentication Failed...');
}
?>
Abhishek Gupta (a dot guptagoa at gmail dot com)
17-Apr-2012 05:43
webdr at sonic dot net
17-Nov-2011 08:47
Looking for keyboard-interactive method support?
http://sourceforge.net/projects/phpseclib/
ammarmar at wp dot pl
13-Mar-2008 09: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 09: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
28-Aug-2005 11: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.
05-Jun-2005 01: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
