-
2020-06-03 16:46:31
安装
- ssh2-sftp-client (npm)
npm install ssh2-sftp-client
API
rmdir(romotePath, true)
递归删除服务器文件夹uploadDir(localPath, romotePath)
递归上传文件夹put(localPath, romotePath)
get(romotePath, localPath)
demo
const Client = require('ssh2-sftp-client') // const path = require('path') const config = { path: { // 远程地址 romotePath, // 本地地址 localPath, }, romote: { // 服务器 ip 地址 host, // 端口号,默认是 22 port, // 登录的用户名 username, // 登录密码 password, } } /* 主方法 * @method main * @param{String} localPath 本地路径,不用 path 模块,直接字符串就好了,这个包自己有格式化的 * @param{String} romotePath 远程路径 * @return{undefined} 返回个* */ function main(localPath, romotePath) { // 实例化 const sftp = new Client() sftp .connect(config.romote) .then(() => { console.log('----------------------------- 连接成功,上传中... -----------------------------') return sftp.uploadDir(localPath, romotePath) }) .then(data => { console.log('----------------------------- 上传完成,及时清除缓存 ----------------------------') }) .catch(err => { console.log('----------------------------- 出错了!! -----------------------------') console.log(err) }) .finally(() => { // 断开连接 sftp.end() }) } main( config.path.localPath, config.path.romotePath, )
更多相关内容 -
SSH2框架搭建实例源码
2013-04-25 09:53:29SSH2框架搭建实例(spring3.2+strust2.3.4+hibernate4.2)全部采用最新版本.演示了用户登录和用户管理 -
WebSSH2 界面ssh
2018-12-21 15:32:35工具:Virtual Machines14.1 系统环境:CentOS 7 64位 (2个) IP:192.168.163.138 IP:192.168.163.141 概述:在138系统中安装部署WebSSH服务 通过浏览器:http://WebSS...工具:Virtual Machines14.1
系统环境:CentOS 7 64位 (2个) IP:192.168.163.138
IP:192.168.163.141
概述:在138系统中安装部署WebSSH服务
通过浏览器:http://WebSSH服务器IP:WebSSH端口/ssh/host/任意可ping通终端IP
开始部署:
安装 NVM
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash source ~/.bashrc
安装稳定版 Nodejs
nvm ls-remote --lts 查询最新版本号 v8.13.0 (LTS: Carbon) v8.14.0 (LTS: Carbon) -> v8.14.1 (Latest LTS: Carbon) nvm install 8.14.1 # 版本号随时可能改变,请使用 nvm ls-remote --lts 查询最新版本号。
下载 WebSSH2
git clone https://github.com/billchurch/WebSSH2 cd WebSSH2-master/app npm init 初始化,一路敲击回车 npm install --production
运行 Webssh2
npm start
敲击http://192.168.163.138:2222/ssh/host/192.168.163.141
会弹出窗口要求输入用户名密码,请输入141服务器的用户名与密码
ok
备注:
- 默认端口2222,防火墙需开放端口
/sbin/iptables -I INPUT -p tcp --dport 2222 -j ACCEPT
- 修改config.json中的listen.port即可修改端口
亲测!!!
- 默认端口2222,防火墙需开放端口
-
SSH2 协议详解
2018-07-09 16:09:43SSH:安全外壳协议 一、SSH介绍 什么是SSH? ssh 传统的网络服务程序,如:ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。...SSH:安全外壳协议
一、SSH介绍
什么是SSH?ssh 传统的网络服务程序,如:ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而且,这些服务程序的安全验证方式也是有其弱点的,就是很容易受到“中间人”(man-in-the-middle)这种方式的攻击。所谓“中间人”的攻击方式,就是“中间人”冒充真正的服务器接收你的传给服务器的数据,然后再冒充你把数据传给真正的服务器。服务器和你之间的数据传送被“中间人”一转手做了手脚之后,就会出现很严重的问题。
SSH的英文全称是SecureShell。通过使用SSH,你可以把所有传输的数据进行加密,这样“中间人”这种攻击方式就不可能实现了,而且也能够防止DNS和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替telnet,又可以为ftp、pop、甚至ppp提供一个安全的“通道”。
最初SSH是由芬兰的一家公司开发的。但是因为受版权和加密算法的限制,现在很多人都转而使用OpenSSH。OpenSSH是SSH的替代软件,而且是免费的,可以预计将来会有越来越多的人使用它而不是SSH。
SSH是由客户端和服务端的软件组成的,有两个不兼容的版本分别是:1.x和2.x。用SSH2.x的客户程序是不能连接到SSH1.x的服务程序上去的。OpenSSH2.x同时支持SSH1.x和2.x。
SSH的安全验证是如何工作的
从客户端来看,SSH提供两种级别的安全验证。
第一种级别(基于口令的安全验证)只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。
第二种级别(基于密匙的安全验证)需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在你在该服务器的家目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。
用这种方式,你必须知道自己密匙的口令。但是,与第一种级别相比,第二种级别不需要在网络上传送口令。
第二种级别不仅加密所有传送的数据,而且“中间人”这种攻击方式也是不可能的(因为他没有你的私人密匙)。但是整个登录的过程可能需要10秒。
二、SSL介绍(SecuresocketLayer&SecuritySocketLayer)
一个应用程序的安全需求在很大程度上依赖于将如何使用该应用程序和该应用程序将要保护什么。不过,用现有技术实现强大的、一般用途的安全通常是可能的。认证就是一个很好的示例。
当顾客想从Web站点购买某个产品时,顾客和Web站点都要进行认证。顾客通常是以提供名字和密码的方式来认证他自己。另一方面,Web站点通过交换一块签名数据和一个有效的X.509证书(作为SSL握手的一部分)来认证它自己。顾客的浏览器验证该证书并用所附的公用密钥验证签名数据。一旦双方都认证了,则交易就可以开始了。
SSL能用相同的机制处理服务器认证(就如在上面的示例中)和客户机认证。Web站点典型地对客户机认证不依赖SSL—要求用户提供密码是较容易的。而SSL客户机和服务器认证对于透明认证是完美的,对等机—如p2p应用程序中的对等机之间一定会发生透明认证。
安全套接字层(SecureSocketsLayer(SSL)),SSL是一种安全协议,它为网络(例如因特网)的通信提供私密性。SSL使应用程序在通信时不用担心被窃听和篡改。SSL实际上是共同工作的两个协议:“SSL记录协议”(SSLRecordProtocol)和“SSL握手协议”(SSLHandshakeProtocol)。“SSL记录协议”是两个协议中较低级别的协议,它为较高级别的协议,例如SSL握手协议对数据的变长的记录进行加密和解密。SSL握手协议处理应用程序凭证的交换和验证。
当一个应用程序(客户机)想和另一个应用程序(服务器)通信时,客户机打开一个与服务器相连接的套接字连接。然后,客户机和服务器对安全连接进行协商。作为协商的一部分,服务器向客户机作自我认证。客户机可以选择向服务器作或不作自我认证。一旦完成了认证并且建立了安全连接,则两个应用程序就可以安全地进行通信。按照惯例,我将把发起该通信的对等机看作客户机,另一个对等机则看作服务器,不管连接之后它们充当什么角色。
名为A和B的两台对等机想安全地进行通信。在我们简单的p2p应用程序的环境中,对等机A想查询对等机B上的一个资源。每个对等机都有包含其专用密钥的一个数据库(名为keystore)和包含其公用密钥的证书。密码保护数据库的内容。该数据库还包含一个或多个来自被信任的对等机的自签名证书。对等机A发起这项事务,每台对等机相互认证,两台对等机协商采用的密码及其长度并建立一个安全通道。完成这些操作之后,每个对等机都知道它正在跟谁交谈并且知道通道是安全的。SSL(SecuresocketLayer)安全套接层协议主要是使用公开密钥体制和X.509数字证书技术保护信息传输的机密性和完整性,它不能保证信息的不可抵赖性,主要适用于点对点之间的信息传输,常用WebServer方式。
安全套接层协议(SSL,SecuritySocketLayer)是网景(Netscape)公司提出的基于WEB应用的安全协议,它包括:服务器认证、客户认证(可选)、SSL链路上的数据
完整性和SSL链路上的数据保密性。对于电子商务应用来说,使用SSL可保证信息的真实性、完整性和保密性。但由于SSL不对应用层的消息进行数字签名,因此不能提供交易的不可否认性,这是SSL在电子商务中使用的最大不足。有鉴于此,网景公司在从Communicator4.04版开始的所有浏览器中引入了一种被称作“表单签名(FormSigning)”的功能,在电子商务中,可利用这一功能来对包含购买者的订购信息和付款指令的表单进行数字签名,从而保证交易信息的不可否认性。综上所述,在电子商务中采用单一的SSL协议来保证交易的安全是不够的,但采用"SSL 表单签名"模式能够为电子商务提供较好的安全性保证。
------------------------------------------------------------------------------------------------
(SSH:SecureShellProtocol)
安全外壳协议(SSH)是一种在不安全网络上提供安全远程登录及其它安全网络服务的协议。SecureShell,又可记为SSH,最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH是一个好的应用程序,在正确使用时,它可以弥补网络中的漏洞。除此以外,SSH之所以酷,还有以下原因:SSH客户端适用于多种平台。几乎所有的UNIX平台—包括HP-UX、Linux、AIX、Solaris、DigitalUNIX、Irix、SCO,以及其他平台—都可以运行SSH。而且,已经有一些客户端(其中有些为测试版)可以运行于UNIX操作平台以外,包括OS/2、VMS、BeOS、Java、Windows95/98和WindowsNT。这样,你就可以在几乎所有的平台上运行SSH客户端程序了。对非商业用途它是免费的。许多SSH版本可以获得源代码,并且只要不用于商业目的,都可以免费得到。而且,UNIX版本也提供了源代码,这就意味着任何人都可以对它进行修改。但是,如果你选择它用于商业目的,那么无论使用何种版本的SSH,你都得确认已经注册并获得了相应权限。绝大多数SSH的客户端和守护进程都有一些注册限制。惟一的SSH通用公共注册(GeneralPublicLicense,GPL)版本是lsh,它目前还是测试版。通过Internet传送密码安全可靠。这是SSH被认可的优点之一。如果你考察一下接入ISP(InternetServiceProvider,Internet服务供应商)或大学的方法,一般都是采用Telnet或POP邮件客户进程。因此,每当要进入自己的账号时,你输入的密码将会以明码方式发送(即没有保护,直接可读),这就给攻击者一个盗用你账号的机会—最终你将为他的行为负责。对应用的支持。由于SSH的源代码是公开的,所以在UNIX世界里它获得了广泛的认可。Linux,其源代码也是公开的,大众可以免费获得,并同时获得了类似的认可。这就使得所有开发者(或任何人)都可以通过补丁程序或bug修补来提高其性能,甚至还可以增加功能。这也第一部分获得并安装SSH意味着其性能可以不断得到提高而无须得到来自原始创作者的直接技术支持。SSH替代了不安全的远程应用程序。SSH是设计用来替代伯克利版本的r命令集的;它同时继承了类似的语法。其结果是,使用者注意不到使用SSH和r命令集的区别。利用它,你还可以干一些很酷的事。通过使用SSH,你在不安全的网络中发送信息时不必担心会被监听。你也可以使用POP通道和Telnet方式,通过SSH可以利用PPP通道创建一个虚拟个人网络(VirtualPrivateNetwork,VPN)。SSH也支持一些其他的身份认证方法,如Kerberos和安全ID卡等。
但是因为受版权和加密算法的限制,现在很多人都转而使用OpenSSH。OpenSSH是SSH的替代软件,而且是免费的,可以预计将来会有越来越多的人使用它而不是SSH。
SSH是由客户端和服务端的软件组成的,有两个不兼容的版本分别是:1.x和2.x。用SSH2.x的客户程序是不能连接到SSH1.x的服务程序上去的。OpenSSH2.x同时支持SSH1.x和2.x。
SSH主要有三部分组成:
传输层协议[SSH-TRANS]提供了服务器认证,保密性及完整性。此外它有时还提供压缩功能。SSH-TRANS通常运行在TCP/IP连接上,也可能用于其它可靠数据流上。SSH-TRANS提供了强力的加密技术、密码主机认证及完整性保护。该协议中的认证基于主机,并且该协议不执行用户认证。更高层的用户认证协议可以设计为在此协议之上。
用户认证协议[SSH-USERAUTH]用于向服务器提供客户端用户鉴别功能。它运行在传输层协议SSH-TRANS上面。当SSH-USERAUTH开始后,它从低层协议那里接收会话标识符(从第一次密钥交换中的交换哈希H)。会话标识符唯一标识此会话并且适用于标记以证明私钥的所有权。SSH-USERAUTH也需要知道低层协议是否提供保密性保护。
连接协议[SSH-CONNECT]将多个加密隧道分成逻辑通道。它运行在用户认证协议上。它提供了交互式登录话路、远程命令执行、转发TCP/IP连接和转发X11连接。
一旦建立一个安全传输层连接,客户机就发送一个服务请求。当用户认证完成之后,会发送第二个服务请求。这样就允许新定义的协议可以与上述协议共存。连接协议提供了用途广泛的各种通道,有标准的方法用于建立安全交互式会话外壳和转发(“隧道技术”)专有TCP/IP端口和X11连接。
通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、PoP、甚至为PPP提供一个安全的"通道"。
SSH分为两部分:客户端部分和服务端部分。
服务端是一个守护进程(daemon),他在后台运行并响应来自客户端的连接请求。服务端一般是sshd进程,提供了对远程连接的处理,一般包括公共密钥认证、密钥交换、对称密钥加密和非安全连接。
客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。
他们的工作机制大致是本地的客户端发送一个连接请求到远程的服务端,服务端检查申请的包和IP地址再发送密钥给SSH的客户端,本地再将密钥发回给服务端,自此连接建立。刚才所讲的只是SSH连接的大致过程,SSH1.x和SSH2.x在连接协议上还有着一些差异。
SSH被设计成为工作于自己的基础之上而不利用超级服务器(inetd),虽然可以通过inetd上的tcpd来运行SSH进程,但是这完全没有必要。启动SSH服务器后,sshd运行起来并在默认的22端口进行监听(你可以用#ps-waux|grepsshd来查看sshd是否已经被正确的运行了)如果不是通过inetd启动的SSH,那么SSH就将一直等待连接请求。当请求到来的时候SSH守护进程会产生一个子进程,该子进程进行这次的连接处理。 -
Ganymed SSH-2(ch.ethz.ssh2)
2020-09-21 11:17:18一、简介 Ganymed SSH-2 for Java是用纯Java...**使用方法:**将 ganymed-ssh2-build210.jar 加入到项目的lib中 二、使用步骤 获取连接new Connection(ipAddr) 服务器认证、授权,输入用户名和密码authenticateWithPas一、简介
Ganymed SSH-2 for Java是用纯Java实现SSH-2协议的一个包。在使用它的过程中非常容易,只需要指定合法的用户名口令,或者授权认证文件,就可以创建到远程Linux主机的连接,在建立起来的会话中调用该Linux主机上的脚本文件,执行相关操作。
官方API文档:
http://www.ganymed.ethz.ch/ssh2/javadoc/ch/ethz/ssh2/package-summary.html使用方法:将 ganymed-ssh2-build210.jar 加入到项目的lib中
二、使用步骤
- 获取连接new Connection(ipAddr)
- 服务器认证、授权,输入用户名和密码authenticateWithPassword(username, password)
- 使用连接conn,打开一个session,openSession()
- session.execCommand(“执行的命令”),执行Linux脚本命令
- 接收服务器控制台返回的信息,stream流的方式进行读取
- 得到脚本运行成功与否的标志 :0-成功 非0-失败。session.getExitStatus()
- 关闭session和connection
三、案例
import ch.ethz.ssh2.Connection; import ch.ethz.ssh2.Session; import ch.ethz.ssh2.StreamGobbler; public class Basic { public static void main(String[] args) { String hostname = "192.168.10.100";//远程机器IP String username = "xxj";//登录用户名 String password = "123456";//登录密码 try { Connection conn = new Connection(hostname); conn.connect(); boolean isAuthenticated = conn.authenticateWithPassword(username, password); ///是否登录成功 if (isAuthenticated == false) { throw new IOException("认真失败!!!"); } Session sess = conn.openSession(); //执行命令 sess.execCommand("uname -a && date && uptime && who"); System.out.println("Here is some information about the remote host:"); //创建输入流 InputStream stdout = new StreamGobbler(sess.getStdout()); //字符流 BufferedReader br = new BufferedReader(new InputStreamReader(stdout)); while (true) { String line = br.readLine(); if (line == null) break; System.out.println(line); } System.out.println("ExitCode: " + sess.getExitStatus()); //关闭连接 sess.close(); conn.close(); } catch (IOException e) { e.printStackTrace(System.err); System.exit(2); } } }
四、常用API
- authenticateWithPassword(…)使用密码进行认证
- openSession()获取会话信息
- execCommand(…)执行命令
- getExitStatus(…)退出状态
- 常用类:
Connection
Session
SCPClient
SFTPv3Client
SFTPv3DirectoryEntry
SFTPv3FileAttributes
SFTPv3FileHandle
StreamGobbler
-
ssh2+jbpm4.4 完整请假流程
2010-09-05 00:48:45自从前些日子发布了如何整合JBPM4.4+ssh2后,有些朋友问我有没有一个完整一点的实例,我看过贩卖你的jbpm的教程,我就参考那个请假的实例把它改装成ssh2版的吧。顺便也加入了模拟不同的角色登陆后能接到不同的待办... -
SSH2框架搭建所需jar包
2013-01-28 16:41:23SSH2框架,当今最为流行的项目开发框架组合,我们在搭建框架之前,首先一定要注意各个框架的版本,不同的版本集成方式和所需的jar包是有区别的。 SSH2框架的版本为:struts2 + spring2 + hibernate3 -
SSH学习2_ssh登陆卡住(expecting SSH2_MSG_KEX_ECDH_REPLY)
2019-03-28 20:08:47sshexpecting SSH2_MSG_KEX_ECDH_REPLY卡住登陆openvpn 问题描述 当前使用系统为 Ubuntu, 登陆openvpn后ssh连接内网机器时,一直卡住无法登陆, 该内网机器可以ping通,并且探测ssh端口也没问题: # nc -zv 192... -
SSH1和SSH2区别
2018-07-11 10:12:31SSH(Secure SHell)到目前为止有两个不兼容的版本——SSH1和SSH2。SSH1又分为1.3和 1.5两个版本。SSH1采用DES、3DES、Blowfish和RC4等对称加密算法保护数据安全传输,而对称加密算法的密钥是通过非对称加密算法(RSA... -
SSH2+AJAX+ORACLE10G项目
2012-07-02 10:37:20一个SSH2+AJAX+ORACLE10G的项目,可运行!实用! -
Call to undefined function sftp\ssh2_connect();安装PHP ssh2扩展
2017-10-26 15:40:00原文链接地址... Call to undefined function sftp\ssh2_connect() centos安装php的ssh2扩展 事先准备需要的 libssh2 下载 wgethttps://www.libssh2.org/download/libssh2-1.8.0.tar. -
SSH1和SSH2的区别
2017-10-12 09:04:08SSH(Secure SHell)到目前为止有两个不兼容的版本——SSH1和SSH2。 SSH1又分为1.3和 1.5两个版本。SSH1采用DES、3DES、Blowfish和RC4等对称加密算法保护数据安全传输,而对称加密算法的密钥是通过非对称加密算法... -
putty ssh 连接报错: unexpeted SSH2_MSG_UNIMPLEMENTED packet
2018-10-19 11:08:25window 下在用putty ssh 登录虚拟机的ubuntu的时候报错 如下: To solve the issue, open the configuration for the connection and navigate to SSH -> Kex. In the “Algorithm selection policy”, ... -
nodejs ssh2 基本功能的封装
2016-11-01 17:28:39封装nodejs的基本功能,封装为一个类,实现的功能能够如下: 对于反复连接断开1000次,测试运行无错,也没有内存泄露 对于运行shell命令,测试在一次连接中运行...ssh2.downloadDir(remoteDir, localDir, then) -
8、electron-vue安装ssh2
2018-03-22 13:02:37ssh2是使用Nodejs在Windows上调用SSH命令,具体用法请参考ssh2 yarn add ssh2 // 或 cnpm install -save ssh2 yarn安装方式 npm install -g yarn cnpm安装方式 npm install -g cnpm --registry=... -
ssh卡在debug1: SSH2_MSG_KEXINIT sent解决方法
2017-08-08 16:23:17现象:主机间互通正常且可以判断对方ssh端口是开放的,但是用ssh xxx.xxx.xxx.xxx -v这种方式连接的时候会卡在debug1: SSH2_MSG_KEXINIT sent这步 解决方法:echo "1454" > /sys/class/net/eth0/mtu 原因:... -
PHP ssh2实现远程执行操作
2016-09-10 16:17:05本文主要介绍PHP的ssh2扩展的使用,实现远程ssh2连接、执行shell命令以及传送文件 -
解决ssh连接慢,挂起在SSH2_MSG_SERVICE_ACCEPT信息之后很久的问题
2018-11-30 10:16:01发现到SSH2_MSG_SERVICE_ACCEPT一行时会停留很久 1、由于GSSAPI认证导致的,修改/etc/ssh/sshd_config,将对应行修改成: GSSAPIAuthentication no 服务器端启用了GSSAPI。登陆的时候客户端需要对服务器端的IP... -
php的ssh2扩展实现远程控制
2017-02-06 16:41:362.php的ssh2的安装与使用 3.确保防火墙与网络正常 能ping通就行 具体实施 windows的演示 1.下载php中的ssh2扩展(注意php的版本号) 下载地址 http://pecl.php.net/package/ssh2 如图所示(说明书) 2.解压找到你... -
Linux环境下安装ssh2模块
2017-05-10 11:30:45Linux下安装ssh2扩展模块 -
Eclipse GitHub SSH2 key配置
2017-03-16 02:10:431. 用Eclipse自带git插件进行配置... 2. eclipse生成SSH2 key:windows -- perferences--General--Network Commection--SSH2--key management 查看生成的秘钥是否在在默认系统盘(C盘) 3. 到.ssh文件夹下,把 -
JAVA利用SSH2登录LINUX并执行命令
2017-03-16 19:08:28import ch.ethz.ssh2.Connection; import ch.ethz.ssh2.Session; import ch.ethz.ssh2.StreamGobbler; import cn.com.bsfit.frms.portal.util.RemoteExecCmd; import org.junit.Test; import java.io.BufferedReade -
使用ganymed-ssh2连接linux报错Cannot negotiate, proposals do not match.
2018-03-06 16:41:28报错信息 Caused by: java.io.IOException: There was a problem while talking to ...at ch.ethz.ssh2.Connection.connect(Connection.java:642) at com.ultrapower.driver.resdriver.transport.SSHProtoc... -
解决SecureCRT报错keyboard-interactive authentication with the ssh2 server failed
2019-09-25 11:08:43Option ->Session Options ->Connection-> SSH2,选择Authentication,勾选Password,双击Properties输入两次密码确定即可。 -
ssh2扩展执行远程登录命令以及执行多个命令
2017-09-03 23:19:04ssh2的使用方式: $connect=ssh2_connect("192.168.1.2",22); ssh2_auth_password($connect,user,pass); $stream=ssh2_exec($connect, "ls /home"); stream_set_blocking($stream, true); $output = stream_get_conte -
ssh 和 ssh2 之间的 转换
2013-07-12 13:25:37每次都输入密码会很烦,而且也不安全,同时还有其他一些潜在的风险,所以SSH也提供基于密钥的认证机制,你必须为自己创建一对密钥,并把公钥放在 需要访问的服务器上。客户端软件会向服务器发出请求,请求用你的私匙... -
nodejs ssh2 上传下载文件错误(打开通道错误:Error: (SSH) Channel open failure: open failed)
2016-10-21 10:19:42由于最近在写一个自动测试的代码,用nodejs写,需要用ssh2模块将本地机器上的文件以及文件夹上传到远程的linux机器上,在百度上面看的相关的例子,但是上面的例子,如果一个连接下载一次然后关闭就不会出错,若同一... -
多线程调用ch.ethz.ssh2.Connection执行shell任务时有的执行丢失情况解决
2017-06-25 17:28:38最近项目出现一个问题,在使用多线程调用开源ch.ethz.ssh2.Connection执行shell任务时有的任务没有执行,导致没有获取数据。 后来经过定位发现线程池同时间最大运行数设置的是15,而liunx默认是10,就导致了一部分... -
telnet,ssh1和ssh2的区别
2014-07-25 23:13:54当你通过sftp(ssh1)连接linux的时候,假如连接后... Received,请修改ssh为ssh2连接模式即可。 一、TELNET 使用Telnet这个用来访问远程计算机的TCP/IP协议以控制你的网络设备相当于在离开某个建筑时大喊你的