使用 sftp 同步远程文件

以前从服务端同步文件到本地,我很喜欢用 scp。不过,scp 有个不好的点就是你必须输入远程的路径,这就要求你得想办法记住你要同步的文件路径名。当然,你可以使用两个终端协同合作:一个终端负责执行 scp 命令,另一个则负责登录服务器,通过 cdpwd 等来检索路径。今天发现了一个更好用的远程文件同步工具,叫做 sftp。如果对 sftp 不了解,那么你至少应该听过 ftp 吧。ftp 的全称是 File Transfer Protocol,是 OSI 模型中的一个应用层协议,用于两个远端主机间的文件传输。而 sftp 的全称则是 Secure File Transfer Protocol,是基于 ftp 却使用 ssh 来进行加密传输的协议。对 sftp 工具有这一层的认识也就够了,接下来我们就来动手看看如何使用它。

阅读余文使用 sftp 同步远程文件

外网主机通过 ssh 连接局域网主机

我觉得,远程办公该是程序员最心仪的工作方式之一了吧。想想看,坐在家里喝着茶,看着书,需要的时候分分钟就把原本需要到公司里才能干的活给了结了,是不是有一种运筹帷幄之感?当然了,要实现远程办公,首先得连上远程主机。不过,远程主机(不管是家里的,还是公司的电脑)一般都处在局域网内部,并不拥有固定的外网 ip。这该如何是好?不慌!一般而言,要想突破内网限制,只要能成功进行 NAT 打洞,所有问题都将迎刃而解。所谓 NAT,英文名称是 Network Address Translation,顾名思义是一种转换网络地址的方式,也就是一种能够把局域网内部 ip 和端口映射成外网 ip 和端口的技术。利用这种技术使得外部主机与局域网的主机建立连接,通常也叫做 NAT 打洞。关于 NAT 打洞,未来我会用一篇文章做专门的介绍。为了缩小篇幅,暂时只能假设大家对 NAT 原理已经足够了解。本文要探讨的是利用 ssh 实现 NAT 打洞,并让外网主机可以连接到局域网内部的主机。

阅读余文外网主机通过 ssh 连接局域网主机