windows sftp server搭建和自动实现上传下载脚本程序可自动运行文档格式.docx
《windows sftp server搭建和自动实现上传下载脚本程序可自动运行文档格式.docx》由会员分享,可在线阅读,更多相关《windows sftp server搭建和自动实现上传下载脚本程序可自动运行文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
sftp服务端的安装与配置还是比较简单的,通过几条命令就可以开启sftp服务。
第一步:
将之前下载的sftp服务端解压缩,然后直接运行主程序。
点“NEXT”按钮进行下面的操作。
(如图3)
第二步:
在许可协议窗口处填写“同意”并点“下一步”按钮继续。
(如图4)
第三步:
在接下来的配置窗口中选择要安装的组件,从界面中我们可以看到包括client(客户端)与server(服务器端),实际上我们只需要服务器端,而客户端我们使用之前下载的WinSCP3.8.2即可。
选择相应的服务器端组件后点“下一步”按钮继续。
(如图5)
第四步:
选择程序安装的路径,默认是c:
\programfiles\openssh,建议大家不修改这个缺省地址。
(如图6)
第五步:
默认情况下openssh将添加一个应用程序到开始程序中,名字叫做opensshforwindows。
(如图7)
第六步:
安装的最后openssh会自动建立ssh安全加密key,保证SSH传输过程中的安全可靠。
(如图8)
第七步:
完成所有安装工作,点“完成”按钮回到桌面。
(如图9)
第八步:
接下来就要启动该服务了,我们通过“开始->
运行->
输入CMD后回车”进入到命令提示窗口,然后通过cd命令定位到c:
\programfiles\openssh\bin目录。
(如图10)
第九步:
依次执行mkgroup-l>
>
..\etc\groupmkpasswd-l>
..\etc\passwd命令,这样你目前windows本地帐户中的用户就都可以登录该sftp服务器了,他们自对文件目录的访问权限和NTFS权限一致。
此步骤相当于FTP中的建立访问帐号。
(如图11)
第十步:
添加完各个访问帐户后我们可以到c:
\programfiles\openssh\etc目录中来查看group和passwd两个文件的内容,当然这些内容是经过了加密的。
(如图12)
这两个文件存储的都是帐户相关信息,正如前面所说他们是从unix移植过来的,配置方式仍然使用了conf文件的方式,几乎没有图形界面。
而且这些配置文件一般用unix换行符,建议各位IT168读者使用ultraedit等工具而不是notepad来编辑,一是确保能正常显示,二是确保保存时不会破坏它的格式导致服务程序无法读取。
(如图13)
第十一步:
最后在刚才进入的c:
\programfiles\openssh\bin目录下执行netstartopensshd命令,这将启动opensshd服务,我们就可以开始访问了。
(如图14)
小提示:
一般sftp用默认的22端口发布服务就行。
如果你有特殊的原因要把这个端口改掉,请编辑C:
\ProgramFiles\OpenSSH\etc\sshd_config文件,把这一行改成你要的端口,比如8029,设置完毕后需要重启openssh服务(任何配置改动都需要重启服务)。
至此服务器端的配置完成,下面我们来介绍如何在客户端上访问建立的sftp服务。
如果以后要继续添加访问帐户的话,首先在windows中加上这个用户,例如我们以名为sftp的帐户为例,设置密码,确保不要选中“下次登录必须改密码”。
这个用户的权限和用户组由你来决定。
然后进入c:
\programfiles\openssh\bin目录,执行mkpassword-l-usftp>
..\etc\passwd命令即可将刚才添加的sftp帐户添加到访问权限中。
说白了指令加-u是加单独一个帐户,没有-u参数的话将把当前系统中所有帐户添加到容许访问sftp服务器的帐户列表中。
配置sftp客户端就更加简单了,由于之前我们已经下载了WinSCP3.8.2,所以直接运行该程序即可出现登录配置界面。
(如图15)
我们根据实际填写sftp服务器的地址和访问帐户信息,协议方面保持默认的sftp(allowscpfallback)即可,完成设置后点login登录按钮后会出现“使用提示”信息,不用理会继续即可。
(如图16)
登录进入服务器后我们会看到界面显示和我们之前熟悉的ftp登录工具一样,特别是和flashfxp登录FTP服务器类似。
右边是我们看到的sftp服务器发布的目录。
(如图17)
当然这个默认发布目录可能不是我们希望看到的,如果想要访问你的C盘,我们可以先把焦点放在服务器那半边窗口,然后按ctrl+o,输入/cygdrive/c并回车,这样就可以把这个目录加到winscp的书签或者作为登录时的默认目录。
(如图18)
五、总结:
当我们要关闭sftp服务时只需要在服务器端对应目录执行netstopopensshd指令即可,这样对应服务将自动关闭。
(如图19)另外如果在客户端上无法访问sftp服务器的话,很可能是因为XP系统自带防火墙捣乱,我们关闭防火墙或者手动在windows防火墙配置中允许c:
\ProgramFiles\OpenSSH\usr\sbin\sshd.exe程序的执行和对网络的访问即可。
好了!
相信大家都可以从网络上找到上面的资料,如果只是做了这么一点点我也不需要继续开展以下的博文了,正如标题所说我要开始的是客户端自动运行上传或者下载的任务,这里我们当然要直接使用SCRIPTcommand的方式来实现,不然每天都手工去上传不把人累死经理还以为我们这些IT都白养了,网络上找了好多都没有一篇能实现自动登陆,不是在服务器定位这边卡住就是在用户passwd输入时候停了
(1)首先在下载PSFTP.EXE,试验了很多就这个能实现autologin。
下载完成后直接在c盘下建个文件夹SFTP来放置psftp.exe如图
(2)下面我们试验一下用psftp.exe实现自动登陆
我开的client用户名:
sftp密码:
P@ssw0rd//(0数字零)。
命令如下psftpsftp@127.0.0.1–pwP@ssw0rd//sftp(username)@127.0.0.1(serverip这里是本机如果是远程服务器输入它的ip地址)-pw(后面跟的是密码)
哈哈有了这样的方法就能实现用.bat文件自动上传下载了!
我们分别先建2个文件,一个叫upload.txt和download.txt分别放置在C:
\SFTP和C:
\ProgramFiles\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的内容
cdc:
\sftp
psftpsftp@127.0.0.1-pwP@ssw0rd-btranf.scr
pausa
bye
close
tranf.scr的内容
putupload.txt
getdownload.txt
sync.bat首先进入sftp文件夹才能使用PSFTP命令,然后输入用户名密码并且调用tranf.scr中的内容实现下载和上传的命令!
用文本文件编写然后分别保存为各自格式,好了下面来我们见证奇迹的时刻吧!
双击直接运行sync.batcommand对话框一闪后就消失了,然后我们惊奇的发现2个文件夹下分别都多了一个文件。
是不是很兴奋啦!
好啦现在基本能实现上传根下载的自动了!
也不枉费我花这么多时间来到网络上找资料了,就是目前还有个问题,因为小弟几乎不懂linux的命令所以我不知道如何定位文件的位置,不知道在LINUX中如何实现其他位置的文件上传和上传到服务器指定的位置。
希望有懂的高手们能教下小弟。
在此谢过!
!