文档详情

windows sftp server搭建和自动实现上传下载脚本程序可自动运行

woxinch****an2018
实名认证
店铺
DOC
997.04KB
约16页
文档ID:38980704
windows sftp server搭建和自动实现上传下载脚本程序可自动运行_第1页
1/16

Openssh 服务器的搭建,并使用 PSFTP 实现文件自动上传,下载的 script 命令才来这家公司被分配一个任务协助经理完成 SSH Server 的搭建,并且要实现客户端直接向服务器 端上传文件OK 废话少说首先先来搭建服务器的步骤!(1)下载服务器端我们使用 openssh,它自带了 cygwin 环境以及 scp/sftp 的服务器(sftp 是 ssh 的一个 “子服务”,在 ssh 通道中使用某个命令在需要时激活) 07 在该页面中我们下载 SSHWindows-Installer, 3.8p1-1 20040709 Build 这个程序即可如图 1) 而客户端我们则采用的是 winscp 软件,他是一款图形化界面的软件,界面操作类似于 ftp 软件, 很好上手我们到 这个地址下载 WinSCP 3.8.2如图 2)配置 sftp 服务端: sftp 服务端的安装与配置还是比较简单的,通过几条命令就可以开启 sftp 服务 第一步:将之前下载的 sftp 服务端解压缩,然后直接运行主程序点“NEXT”按钮进行下面的 操作如图 3)第二步:在许可协议窗口处填写“同意”并点“下一步”按钮继续。

如图 4)第三步:在接下来的配置窗口中选择要安装的组件,从界面中我们可以看到包括 client(客户端) 与 server(服务器端),实际上我们只需要服务器端,而客户端我们使用之前下载的 WinSCP 3.8.2 即可选择相应的服务器端组件后点“下一步”按钮继续如图 5)第四步:选择程序安装的路径,默认是 c:\program files\openssh,建议大家不修改这个缺省地址 (如图 6)第五步:默认情况下 openssh 将添加一个应用程序到开始程序中,名字叫做 openssh for windows如图 7)第六步:安装的最后 openssh 会自动建立 ssh 安全加密 key,保证 SSH 传输过程中的安全可靠如图 8)第七步:完成所有安装工作,点“完成”按钮回到桌面如图 9) 第八步:接下来就要启动该服务了,我们通过“开始->运行->输入 CMD 后回车”进入到命令提 示窗口,然后通过 cd 命令定位到 c:\programfiles\openssh\bin 目录如图 10) 第九步:依次执行 mkgroup -l >> ..\etc\group mkpasswd -l >> ..\etc\passwd 命令,这样你目前 windows 本地帐户中的用户就都可以登录该 sftp 服务器了,他们自对文件目录的访问权限和 NTFS 权限一致。

此步骤相当于 FTP 中的建立访问帐号如图 11) 第十步:添加完各个访问帐户后我们可以到 c:\program files\openssh\etc 目录中来查看 group 和 passwd 两个文件的内容,当然这些内容是经过了加密的如图 12) 这两个文件存储的都是帐户相关信息,正如前面所说他们是从 unix 移植过来的,配置方式仍然 使用了 conf 文件的方式,几乎没有图形界面而且这些配置文件一般用 unix 换行符,建议各位 IT168 读者使用 ultraedit 等工具而不是 notepad 来编辑,一是确保能正常显示,二是确保保存时不 会破坏它的格式导致服务程序无法读取如图 13) 第十一步:最后在刚才进入的 c:\program files\openssh\bin 目录下执行 net start opensshd 命令, 这将启动 opensshd 服务,我们就可以开始访问了如图 14) 小提示:一般 sftp 用默认的 22 端口发布服务就行如果你有特殊的原因要把这个端口改掉,请 编辑 C:\ProgramFiles\OpenSSH\etc\sshd_config 文件,把这一行改成你要的端口,比如 8029,设置 完毕后需要重启 openssh 服务(任何配置改动都需要重启服务)。

至此服务器端的配置完成,下面我们来介绍如何在客户端上访问建立的 sftp 服务 小提示:如果以后要继续添加访问帐户的话,首先在 windows 中加上这个用户,例如我们以名 为 sftp 的帐户为例,设置密码,确保不要选中“下次登录必须改密码”这个用户的权限和用户 组由你来决定然后进入 c:\program files\openssh\bin 目录,执行 mkpassword -l -u sftp>> ..\etc\passwd 命令即可将刚才添加的 sftp 帐户添加到访问权限中说白了指令加-u 是加单独一个 帐户,没有-u 参数的话将把当前系统中所有帐户添加到容许访问 sftp 服务器的帐户列表中配置 sftp 客户端就更加简单了,由于之前我们已经下载了 WinSCP 3.8.2,所以直接运行该程序即 可出现登录配置界面如图 15) 我们根据实际填写 sftp 服务器的地址和访问帐户信息,协议方面保持默认的 sftp (allow scp fallback)即可,完成设置后点 login 登录按钮后会出现“使用提示”信息,不用理会继续即可 (如图 16) 登录进入服务器后我们会看到界面显示和我们之前熟悉的 ftp 登录工具一样,特别是和 flashfxp 登录 FTP 服务器类似。

右边是我们看到的 sftp 服务器发布的目录如图 17) 当然这个默认发布目录可能不是我们希望看到的,如果想要访问你的 C 盘,我们可以先把焦点 放在服务器那半边窗口,然后按 ctrl+o,输入/cygdrive/c 并回车,这样就可以把这个目录加到 winscp 的书签或者作为登录时的默认目录如图 18) 五、总结:五、总结: 当我们要关闭 sftp 服务时只需要在服务器端对应目录执行 net stop opensshd 指令即可,这样对 应服务将自动关闭如图 19)另外如果在客户端上无法访问 sftp 服务器的话,很可能是因为 XP 系统自带防火墙捣乱,我们关闭防火墙或者手动在 windows 防火墙配置中允许 c:\Program Files\OpenSSH\usr\sbin\sshd.exe 程序的执行和对网络的访问即可好了!相信大家都可以从网络上找到上面的资料,如果只是做了这么一点点我也不需要继续开展 以下的博文了,正如标题所说我要开始的是客户端自动运行上传或者下载的任务,这里我们当然 要直接使用 SCRIPT command 的方式来实现,不然每天都手工去上传不把人累死 经理还以为我们 这些 IT 都白养了,网络上找了好多都没有一篇能实现自动登陆,不是在服务器定位这边卡住就是 在用户 passwd 输入时候停了(1)首先在下载 PSFTP.EXE,试验了很多就这个能实现 auto login。

下载完成后直接在 c 盘下建个文 件夹 SFTP 来放置 psftp.exe 如图(2)下面我们试验一下用 psftp.exe 实现自动登陆 我开的 client 用户名:sftp 密码:P@ssw0rd //(0 数字零) 命令如下 psftp sftp@127.0.0.1 –pw P@ssw0rd //sftp(username)@127.0.0.1(server ip 这里是本 机如果是远程服务器输入它的 ip 地址) -pw(后面跟的是密码) 哈哈有了这样的方法就能实现用.bat 文件自动上传下载了! 我们分别先建 2 个文件,一个叫 upload.txt 和 download.txt 分别放置在 C:\SFTP 和 C:\Program Files\OpenSSH 也就是 psftp 和 openssh 的 2 个安装文件夹!下面我们来建一个.bat 的文件主要实现将 upload.txt 上传和 download.txt 下载传输结束后应 该是 Openssh 文件夹中多了一个 upload.txt 文件,而 sftp 文件夹中多了一个 download.txt 文件。

我们直接在 SFTP 文件夹下编写 2 个 script,1 个用来联结 SFTP 服务器并且同步文件,另一个用来 执行上传和下载文件命令我这里分别较 sync.bat 和 tranf.scr,他们的内容分别如下: Sync.bat 的内容 cd c:\sftp psftp sftp@127.0.0.1 -pw P@ssw0rd -b tranf.scr pausa bye closetranf.scr 的内容 put upload.txt get download.txtsync.bat 首先进入 sftp 文件夹才能使用 PSFTP 命令,然后输入用户名密码并且调用 tranf.scr 中的内容实现下载和上传的命令!用文本文件编写然后分别保存为各自格式,好了下面来我们见证奇迹的时刻吧!双击直接运行 sync.bat command 对话框一闪后就消失了,然后我们惊奇的发现 2 个文件夹下分别都多了一个文 件是不是很兴奋啦!好啦现在基本能实现上传根下载的自动了!也不枉费我花这么多时间来到网络 上找资料了,就是目前还有个问题,因为小弟几乎不懂 linux 的命令所以我不知道如何定位文件的位置,不知道在 LINUX 中如何实现其他位置的文件上传 和上传到服务器指定的位置。

希望有懂的 高手们能教下小弟在此谢过!!!!。

下载提示
相似文档
正为您匹配相似的精品文档