我正在使用phpseclib(https://github.com/phpseclib/phpseclib),我遇到了一个我不知道如何解决的问题。
所以基本上我想用PHP连接到运行脚本的同一台服务器,通过SSH执行一些SFTP事务。
我在命令行上尝试了ssh localhost
,它使用我的SSH密钥对登录。
我实现了phpseclib从远程服务器下载/上传文件。现在我正在为我编写的代码编写单元测试。但是,我无法模拟SFTP类,因为需要为每个连接启动对象,有没有办法测试我编写的函数,基本上只是一个文件下载和处理数据函数。
答案 0 :(得分:0)
我的猜测:您的~/.ssh/id_rsa
文件是与~/.ssh/authorized_keys
中的公钥对应的私钥。因此,当您尝试使用ssh localhost
登录时,它实际上并没有在没有身份验证的情况下登录您 - 它使用公钥登录您,但您只是没有意识到它。
其他一些不太可能的可能性:
执行ssh -v localhost
然后发布它所说的内容可能会有所帮助。