SSH端口转发工具remote-forwarder使用教程

需积分: 17 0 下载量 90 浏览量 更新于2024-11-11 收藏 5KB ZIP 举报
资源摘要信息:"remote-forwarder是一个通过SSH协议将本地端口转发到远程服务器的Node.js模块。其主要功能是利用SSH的远程端口转发功能,允许开发者或系统管理员在远程服务器上创建一个本地端口的镜像,这样本地计算机就可以通过该端口与远程服务器进行通信,实现网络应用的远程访问。 SSH(Secure Shell)是一种提供安全远程登录及其他网络服务的协议,其中的端口转发功能可以用来将一个端口的数据通过加密通道传输到另一个端口。SSH的远程端口转发使用的是-R参数,意味着将远程主机上的端口转发到本地端口。 该模块通过npm包的形式提供,开发者可以在项目的依赖中使用npm安装命令`npm install remote-forwarder --save`来安装。安装完成后,开发者可以使用Node.js的require方法来引入这个模块,然后创建一个转发器实例。通过配置目标主机(target)、SSH密钥文件(identityFile)、目标系统用户(user)和本地端口(port),开发者可以初始化这个转发实例。 在使用该模块时,开发者需要确保自己有权访问远程服务器,并且在本地机器上运行的SSH客户端配置正确。在需要保证转发服务持续运行的情况下,该模块设计了一个可以重启的机制,这意味着即使转发进程死亡,它也能够保持端口转发功能的正常工作。这对于需要长时间运行或者可靠性要求较高的应用场景来说非常有用。 remote-forwarder模块的使用场景广泛,包括但不限于: - 当开发者需要从局域网之外访问内部网络的服务时。 - 当需要绕过防火墙限制,通过安全通道访问远程服务时。 - 当想要实现负载均衡或者故障转移,动态地将流量转发到多个远程服务器时。 从压缩包子文件的文件名称列表可以看出,该模块的源代码文件应该是存放在一个名为`remote-forwarder-master`的目录中。这表明开发者或维护者可能将项目源代码托管在了代码托管平台(如GitHub)上,并且这个目录包含了该模块的所有源代码文件。 最后,该模块特别适合在JavaScript环境下使用,由于其是基于Node.js平台构建的,因此开发者需要对Node.js有一定的了解,并且熟悉其模块化编程的方式。通过结合Node.js的异步非阻塞I/O模型,remote-forwarder可以有效地处理大量的并发连接,从而提高服务的响应速度和吞吐量。"
2015-01-30 上传
1、查看SSH客户端版本 有的时候需要确认一下SSH客户端及其相应的版本号。使用ssh -V命令可以得到版本号。需要注意的是,Linux一般自带的是OpenSSH: 下面的例子即表明该系统正在使用OpenSSH: $ ssh -V OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003 下面的例子表明该系统正在使用SSH2: $ ssh -V ssh: SSH Secure Shell 3.2.9.1 (non-commercial version) on i686-pc-linux-gnu 2、用SSH登录到远程主机 当你第一次使用ssh登录远程主机时,会出现没有找到主机密钥的提示信息。输入"yes"后,系统会将远程主机的密钥加入到你的主目录下的 .ssh/hostkeys下,这样你就可以继续操作了。示例如下: 1 2 3 4 5 6 7 8 localhost$ ssh -l jsmith remotehost.example.com Host key not found from database. Key fingerprint: xabie-dezbc-manud-bartd-satsy-limit-nexiu-jambl-title-jarde-tuxum You can get a public key‘s fingerprint by running % ssh-keygen -F publickey.pub on the keyfile. Are you sure you want to continue connecting (yes/no)? Yes Host key saved to /home/jsmith/.ssh2/hostkeys/key_22_remotehost.example.com.pub host key for remotehost.example.com, accepted by jsmith Mon May 26 2008 16:06:50 -0700 jsmith@remotehost.example.com password: remotehost.example.com$ 因为远程主机的密钥已经加入到ssh客户端的已知主机列表中,当你第二次登陆远程主机时,只需要你输入远程主机的登录密码即可。 1 2 3 localhost$ ssh -l jsmith remotehost.example.com jsmith@remotehost.example.com password: remotehost.example.com$ 由于各种原因,可能在你第一次登陆远程主机后,该主机的密钥发生改变,你将会看到一些警告信息。出现这种情况,可能有两个原因: o 系统管理员在远程主机上升级或者重新安装了SSH服务器 o 有人在进行一些恶意行为,等等。 在你输入“yes”之前呢,最佳的选择或许是联系你的系统管理员来分析为什么会出现主机验证码改变的信息,核对主机验证码是否正确。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 localhost$ ssh -l jsmith remotehost.example.com @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the- middle attack)! It is also possible that the host key has just been changed. Please contact your system administrator. Add correct host key to ―/home/jsmith/.ssh2/hostkeys/key_22_remotehost.example.com.pub‖ to get rid of this message. Received server key's fingerprint: xabie-dezbc-manud-bartd-satsy-limit-nexiu-jambl-title-arde-tuxum You can get a publ