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