大部分SSH连接软件都有SSH通道转发功能,就是用这个实现的。

如果Delphi在代码上实现的话,用libSSH 或者 SecureBridge都可以。

代码基本不用帖,思路给大家讲一下吧。

SSH有端口转发(映射)功能,把Linux的MYSQL端口,映射到本机对应的端口后,
然后访问就等于本机安装了MYSQL直接访问了。

到UniDAC的Demos\TechnologySpecific\SecureBridge 目录里安装好控件.然后添加CRSSHIOHandler控件,再在设置一下unidac的IOHandler就可以使用SecureBridge了.

再通过 xuchuantao (暗黑天使) 大侠的指点:
目前可以通过SSH通道端口映射或者

用 UniDac + SecureBridge 实现。

UniDAC的Demos\TechnologySpecific\SecureBridge 还有个CRSSLIOHandler组件要安装

拖出 SSHClient、SSHChannel、 CRSSLIOHandler、FileStorage 组件
UniConnection IOHandler属性关联一下组件 CRSSLIOHandler

再按一般直连方式填入 MySQL连接信息即可

SSHClient组件 HostName(Linux服务器IP)、PassWord(密码)、Port(端口)、User(Linux 登录用户如:ROOT)

然后就全部OK了

当然SSH要KEY才可以的 在SSHClient 的 OnServerKeyValidate 事件加入
var
  Key: TScKey;
  fp, msg: string;
begin
  Key := ScFileStorage.Keys.FindKey(ScSSHClient.HostName);
  if (Key = nil) or not Key.Ready then
  begin
    NewServerKey.GetFingerPrint(haMD5, fp);
    NewServerKey.KeyName := ScSSHClient.HostName;
    ScFileStorage.Keys.Add(NewServerKey);
    Accept := True;
  end;
end;

才行,否则运行的时候连接会提示 Host key not verified

然后就可以愉快的连接了,当然MySQL乱码问题还是要设置一下utf8 和 useunicode
----------------------------------------------

http://bbs.2ccc.com/topic.asp?topicid=504027

SSH有端口映射功能(访问本地端口=访问远程端口)的更多相关文章

  1. 使用 Anydesk 5.1 TCP 通道(端口映射)功能从外网方便访问内网的 web/数据库等资源

    Anydesk 5.1 带来一个新的功能:TCP 通道,在家办公时,通过互联网进行远程桌面连接到公司电脑,可以将家用电脑的某个端口,映射到公司网络的某个电脑( IP + 端口),不局限于被远程桌面连接 ...

  2. 【转载】用Python实现端口映射功能(A/B/C内外网)

    转载地址 :http://hutaow.com/blog/2014/09/08/write-tcp-mapping-program-with-python/ 有A,B,C三台计算机,A,B互通,B,C ...

  3. 如何解决 Nginx 端口映射到外网后访问地址端口丢失的问题

    1. 问题说明 一个手机h5页面的项目,使用nginx(监听80端口)进行访问,内网访问的地址是192.168.12.125/h5,访问正常,nginx中的配置如下: #微信H5页面访问 locati ...

  4. docker学习端口映射---第二章节

    一.运行一个web应用 首先,下载一个docker镜像: [root@k8s-01 ~]# docker pull training/webapp 运行webapp的容器: [root@k8s-01 ...

  5. ssh端口映射,本地转发

    应用场景: # HOSTA<-X->HOSTB 表示A,B两机器相互不可以访问,  HOSTA<-->HOSTB 表示A,B两机器可以相互访问# 1.localhost< ...

  6. 配置多层NAT和端口映射实现外网访问内网

    配置多层NAT和端口映射实现外网访问内网 背景和原理 通过配置NAT可以实现内网中不能直接访问外网的主机通过NAT代理访问内网,配置方法这里不再赘述(前文有介绍).本文以两层的NAT代理做模拟,通过端 ...

  7. iptables实现端口映射(本地和远程端口映射)

    说明:需要将外网访问本地IP(192.168.75.5)的80端口转换为访问192.168.75.3的8000端口,这就需要用到iptables的端口映射 实现:1. 需要先开启linux的数据转发功 ...

  8. ssh端口映射总结

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/boliang319/article/det ...

  9. 利用端口映射解决:拥有公网IP有限,内网需要访问因特网

    动态端口映射:   内网中的一台电脑要访问新浪网,会向NAT网关发送数据包,包头中包括对方(就是新浪网)IP.端口和本机IP.端口,NAT网关会把本机IP.端口替换成自己的公网IP.一个未使用的端口, ...

随机推荐

  1. java String.Format详解

    JDK1.5中,String类新增了一个很有用的静态方法String.format(): format(Locale l, String format, Object... args) 使用指定的语言 ...

  2. OpenGL 4 : 一个漂亮的心 For you, My Love

    画一个心形有非常多公式能够使用,以下这个公式我觉得最完美了: float x = R * 16 * pow(sin(theta), 3); float y = R * (13 * cos(theta) ...

  3. xcode 工具栏中放大镜的替换的说明

    1.如果是在打开的文档范围内:       查找: Command+ F       替换: Option+Command+F                   Replace All   是全部替 ...

  4. Add Two Numbers - C++链表操作

    题目意思很简单,两个链表分别表示两个数,将两个数相加的结果存入一个新的链表中. 思路同样很简单:两个链表如果一样长,对应位置相加,如果某一个链表多了,则根据加的结果有无进位继续处理,全部结束后要考虑会 ...

  5. Java 网络编程(Elliotte Rusty Harold)

    最近看了本Java网络编程方面的书,系统化一下Java网络编程,主要内容如下: 1.网络基础篇 这里包括基础的网络概念/ 输入输出流BIO/ Internet地址/URI/URL/HTTP/URLCo ...

  6. (Problem 53)Combinatoric selections

    There are exactly ten ways of selecting three from five, 12345: 123, 124, 125, 134, 135, 145, 234, 2 ...

  7. 百度2017笔试题:寻找n个员工中未打卡的那一个

    声明:图片来自网络,笔者只是试着做了一下,然后做个记录. 拿到这个题目的时候,笔者首先想到的是二分.两个数组,一个是全体员工的集合A:一个是缺少一人的集合B.对A,B排序,再对B进行二分,得到B的中间 ...

  8. perl5 第十章 格式化输出

    第十章 格式化输出 by flamephoenix 一.定义打印格式二.显示打印格式三.在打印格式中显示值  1.通用的打印格式  2.格式和局域变量  3.选择值域格式  4.输出值域字符四.输出到 ...

  9. BZOJ 3038 上帝造题的七分钟2 (并查集+树状数组)

    题解:同 BZOJ 3211 花神游历各国,需要注意的是需要开long long,还有左右节点需要注意一下. #include <cstdio> #include <cmath> ...

  10. HDU 1089 A+B for Input-Output Practice (I)

    #include <cstdio> int main() { int a,b; while(scanf("%d%d",&a,&b)!=EOF) prin ...