草庐IT

ssh2-sftp

全部标签

php - 如何通过 PHP 执行 SSH 命令

我希望通过PHP进行SSH连接。最好/最安全的方法是什么?我知道我能做到:shell_exec("SSHuser@host.commkdir/testing");还有更好的吗?感觉很“淘气”:)。 最佳答案 我会使用phpseclib,apurePHPSSHimplementation.一个例子:login('username','password')){exit('LoginFailed');}echo$ssh->exec('pwd');echo$ssh->exec('ls-la');?>

php - 如何使用 PHP 进行 SFTP?

我遇到过许多用于WebFTP客户端的PHP脚本。我需要在PHP中将SFTP客户端实现为Web应用程序。PHP是否支持SFTP?我找不到任何sample。谁能帮我解决这个问题? 最佳答案 PHP有ssh2流包装器(默认禁用),因此您可以通过使用ssh2.sftp://协议(protocol)来将sftp连接与支持流包装器的任何函数一起使用,例如file_get_contents('ssh2.sftp://user:pass@example.com:22/path/to/filename');或-当同时使用ssh2extension时$

CentOS系统SSH无法连接

想要搞清楚ssh无法连接的原因首先要先排查SSH基础的配置是否完整以及服务是否安装1.首先查看centos7上是否装了openssh-server,如果你是卸载的openssh然后重新安装,可能卸载的时候把openssh-server给卸载了但是安装openssh时却没有安装openssh-server。所以导致ssh连接出错,如果你是源码包安装的openssh,卸载的时候可能将openssh-server一起卸载了。(yuminstall-yxxx只能安装系统自带的openssh-7.4p1的版本)。事实上系统自带的openssh-7.4p1版本的带有openssh-7.4p1、openss

java - 如何通过 SFTP 从服务器检索文件?

我正在尝试使用Java使用SFTP(而不是FTPS)从服务器检索文件。我该怎么做? 最佳答案 另一种选择是考虑查看JSchlibrary.JSch似乎是一些大型开源项目的首选库,包括Eclipse、Ant和ApacheCommonsHttpClient等。它很好地支持用户/密码和基于证书的登录,以及所有其他美味的SSH2功能。这是一个通过SFTP检索的简单远程文件。错误处理留给读者练习:-)JSchjsch=newJSch();StringknownHostsFilename="/home/username/.ssh/known_h

ruby - 如何通过 SSH 连接到服务器,然后从那里通过 SFTP 连接到另一台服务器?

情况是这样的:我可以通过SSH访问ServerA我可以通过SFTP访问ServerB,但只能从ServerA访问我想使用Ruby通过SSH连接到ServerA,然后将SFTP文件从ServerB连接到ServerA。我可以使用Net::SSH中的文档连接到ServerA:require'net/ssh/gateway'gateway=Net::SSH::Gateway.new('server_a','user')gateway.ssh("server_a","user")do|ssh|#howtoSFTPintoserver_bhereandrunSFTPcommands?endgat

ruby - Net::SFTP 排序目录文件?

我目前正在执行以下操作以获取目录中所有文件的列表:Net::SFTP.start('host','username',:password=>'password')do|sftp|sftp.dir.foreach("/path")do|entry|putsentry.nameendend但这似乎是随机列出的文件。我需要按名称对文件进行排序。那么,如何按名称对文件进行排序? 最佳答案 由于SFTP仅返回服务器发送的排序结果,因此您可以手动对结果进行排序:entries=sftp.dir.entries("/path").sort_by(

Ruby Net::SSH 使用变量插值更改目录

我是Ruby的新手,所以如果我遗漏了一些明显的东西,请原谅我。问题是Ruby似乎没有在Net::SSH.exec中进行变量插值!方法。VCL_DIR="/usr/local/etc/varnish/"host='0.0.0.0'Net::SSH.start(host,'root')do|ssh|puts"Changingdirectoriesto#{VCL_DIR}"ssh.exec!("cd#{VCL_DIR}")res=ssh.exec!("pwd")puts"Serverreportscurrentdirectoryas#{res}"end输出:Changingdirectori

ruby - 如何跳过不正确的 ssh 密码

我有一个脚本可以登录1000多个无线设备并进行审核。他们的一些密码已被更改。我想跳过这些单元而不具体告诉ruby​​要跳过哪些ips。该脚本是多线程的并且会挂起,因为当ruby​​ssh进入一个单元并使用错误的密码时,它会要求输入密码并且整个脚本会停止。*如何跳过或挽救ruby​​net/ssh的错误密码尝试Net::SSH.start('ip','user',password:'pass',paranoid:false)do|ssh|end输入错误的密码会这样提示你admin@192.168.1.1'spassword: 最佳答案

ruby-on-rails - 捆绑安装时 Openshift ssh ruby​​ 版本不正确?

我在openshift上有一个Ruby2.0rails4应用程序。当我通过ssh进入我的应用程序并运行bundleinstall时,我收到一条消息:“您的Ruby版本是1.8.7,但您的Gemfile指定为2.0.0”。运行ruby-v时,我得到:“ruby2.0.0p353...”运行gem环境它也显示Ruby2.0。同样在我的本地机器上一切正常。为什么我的bundle安装认为我在openshift服务器上使用ruby​​1.8.7? 最佳答案 我认为您的bundler是在Ruby升级到2之前安装的。尝试使用geminstallb

ruby-on-rails - 如果目录已经存在,则在 Ruby 上通过 SFTP 创建目录失败

仅当目录不存在时,如何通过SFTP在Ruby上创建目录?我现在有以下代码:Net::SFTP.start(ip,id,:password=>pass,:port=>port)do|sftp|sftp.mkdir!remotePathsftp.upload!(localPath+localfile,remotePath+remotefile)end我第一次创建目录没有问题,但它会尝试重新创建相同的目录,即使它已经存在并且它会抛出一个错误。有人知道怎么做吗?在使用fileutils时,有这样的代码:FileUtils.mkdir_p(remotePath)unlessFile.exists