前提
WEBサイト上からPHPファイルを使用して、SSH2コマンドでWindowsサーバにログインを試みました。
パスワード認証によるログインはできたのですが、公開鍵暗号方式では、ログインができません。
実現したいこと、知りたいこと
公開鍵暗号方式でログインしたい。
WEBサイト上で公開鍵暗号方式をする場合、システム設定の変更があるなら教えてほしい。
共通鍵($pubkey)と 秘密鍵($pubkey )の指定方法を教えてほしい。
windowsサーバ側で何かしらの設定が必要なのか知りたい。
発生しているエラーメッセージ
Warning: ssh2_auth_pubkey_file(): Authentication failed for sftpuser using public key: Username/PublicKey combination invalid in
/home/www/web/index.php on line 45
該当のソースコード
PHPソースコード <?php $host = "IPアドレス"; $port = "22"; $user = "sftpuser"; $pubkey = "/home/apache/.ssh/id_rsa.pub"; $privkey = "/home/apache/.ssh/id_rsa"; $conn = ssh2_connect($host, $port); if(ssh2_auth_pubkey_file($conn, $user, $pubkey, $privkey)){ echo "Authentication Successful!\n"; }else{ echo "Authentication Succeout...\n"; } ssh2_exec($conn, "exit"); unset($conn); ?>
試したこと
クライアント側で、以下のコマンド使用してログインができている。
sftp -i id_rsa sftpuser@IPアドレス
WEBサイトの実行アカウントは、apacheなのでログイン可能にし、
ホームディレクトリを、755
.sshは、700
key関連のファイルは、600の権限に変更
あなたの回答
tips
プレビュー