草庐IT

ssh2-sftp

全部标签

php - 如何通过 ssh 在 PHP 中执行远程命令?

我正在尝试通过ssh从php脚本中执行远程命令,我希望将命令(stdout和stderr)的输出流式传输到原始主机。我知道在Perl和Ruby中这是可能的。我在php中找不到任何此类示例。代码:$ip='kssotest.yakabod.net';$user='tester';$pass='kmoon77';$connection=ssh2_connect($ip);ssh2_auth_password($connection,$user,$pass);$shell=ssh2_shell($connection,"bash");$cmd="echo'[start]';yourcomma

php - 从 PHP 生成 SSH key 对

我想从php生成sshkey对,谁能指导我怎么做?我已经尝试过shell_exec但shell会询问问题,因此该命令不起作用。我想指定生成后放置key的文件名和路径。 最佳答案 这是基于ConvertinganOpenSSLgeneratedRSApublickeytoOpenSSHformat(PHP).谢谢shevron.1024,'private_key_type'=>OPENSSL_KEYTYPE_RSA));$privKey=openssl_pkey_get_private($rsaKey);openssl_pkey_ex

php - 是否有可用于 phing 的 ssh 和 scp 任务?

我想从我的构建机器远程部署到服务器上。远程处理可以通过脚本中的ssh命令完成,但我更愿意使用phing和一个可以执行自动化的deploy.xml文件。从phing构建文件中执行ssh(以及scp)任务有哪些替代方案? 最佳答案 SCPTask在Phing中:copiesfilestoandfromaremotehostusingscp.ThistaskrequiresthePHPSSH2extensiontofunction... 关于php-是否有可用于phing的ssh和scp任务?

PHP Telnet/SSH 动态登录

我有一个问题困扰着我。我正在尝试自动执行CLI登录到路由器并运行通过网页获取的一些命令。但是我不知道路由器是否启用了telnet或SSH(可能是一个、另一个或两者)并且我有一个可能的用户名/密码组合列表,我需要尝试获得访问权限。哦,我无法更改设备上的协议(protocol)类型或凭据,所以这不是一个真正的选择。我能够弄清楚如何使用已知协议(protocol)和登录凭据登录到路由器并运行必要的命令(包括在下面),但我不知道是否应该使用if/elseblock来完成telnet/ssh决定,或者switch语句是否更好?在PHP中使用Expect会更容易吗?functiontunnelRu

php - 如何使用 PHP 从 SFTP 下载文件?

我正在尝试使用php从sftp服务器下载文件,但找不到任何正确的文档来下载文件。打开SFTP连接后,我需要做什么才能下载文件? 最佳答案 使用phpseclib,apurePHPSFTPimplementation:login('username','password')){exit('LoginFailed');}//outputsthecontentsoffilename.remotetothescreenecho$sftp->get('filename.remote');?> 关于

php - Laravel SSH 到服务器未存储在配置文件中

我有一个项目涉及服务器管理,需要执行一些SSH命令。在Laravel中,我有SSH实用程序(远程),但我必须将配置放在一个文件中。我需要连接存储在数据库模型中的凭据。我该怎么做?像这样:$connArray=array("server"=>"8.8.8.8","port"=>"22","user"=>"root","pass"=>"123456");SSH::into($connArray)->run(array('cd/var/www','gitpulloriginmaster',)); 最佳答案 您在运行时设置编辑配置:创建新连

php - ssh2_exec() 不会用 "cd"改变目录

我遇到了ssh_exec()拒绝执行“cd”命令的问题。如果我直接登录服务器并执行命令,它工作正常,所以我认为问题不是我的命令。我的代码如下:$str=ssh2_exec($sshStream,'cp/var/www/compressed.tar.gz/var/www/vhosts/demo-domain1.com/httpdocs/');$errstr=ssh2_fetch_stream($str,SSH2_STREAM_STDERR);stream_set_blocking($str,true);stream_set_blocking($errstr,true);echo"Outp

PHP FTP/SFTP 开关类

好的,所以通过ftp或sftp从您自己的服务器访问其他服务器...我已经编写了一个小类来处理这两种情况..它显然是新的并且可以很容易地改进所以我想我会把它扔在这里看看其他人的想法(stackoverflow获得了很多观点,所以希望这可以帮助其他人),以及他们如何改进它......所以我想问题是......如何改进?classftp_sftp{//determine,ifssh,tousephpsecliborphp'sinbuiltssh_sftp'libssh'public$ssh_type='phpseclib';//setthspathtothedirectorycontaini

PHP ssh2_exec channel 退出状态?

好的,peclssh2应该是libssh2的包装器。libssh2有libssh2_channel_get_exit_status。有什么方法可以获取这些信息吗?我需要:-标准输出-标准错误-退出状态除了退出状态,我得到了所有。当ssh出现时,很多人都在使用phplibsec,但我看不出有什么方法可以从中获取stderr或channel退出状态:/有没有人能够获得所有这三个? 最佳答案 所以,首先要做的是:不,他们没有实现libssh2_channel_get_exit_status。为什么?超越我。这是id所做的:$command

php - 使用 ssh2_scp_send() 发送的文件在远程服务器上不完整

我使用PHP和SSH2将文件传输到远程服务器。我用这个:$connection=ssh2_connect('shell.example.com',22);ssh2_auth_password($connection,'username','password');ssh2_scp_send($connection,'/local/filename','/remote/filename',0644);但有时远程服务器上的文件不完整。我假设SSH2不传输EOF或其他任何东西。您有什么想法或解决方案吗? 最佳答案 问题是您没有关闭SSHse