linux oracle 网络安全 编程
分类: LINUX
2013-01-24 22:19:06
SFTP是SSH File Transfer Protocol的缩写,就是SSH文件传输协议。一般的FTP客户端比如Filezilla或者CuteFTP都支持SFTP。那么如何创建SFTP服务呢?我们使用OpenSSH,这个软件在Linux下是自带的软件包。往日传东西上服务器,因为搭建不是我搭建的架构,我用Filezilla来传提示失败,然后我就找原因以为服务器ftp服务没开就上服务器上找发现没找到有ftp的服务。我就纳闷平常看同事都是这样传上去。后来想想是不是用了SFTP呢,看了一下果然而且前几天自己刚刚改了ssh端口用同事原来设的22端口果断登不上去的。改了一下端口就可以。
一般来说两台机器间的文件传输,除了常用的ftp以外,还可以通过scp/sftp协议(就是本文介绍的sftp)进行。下面我们就来看看sftp协议与ftp协议之间的差别。
(1)和ftp不同的是sftp/scp传输协议默认是采用加密方式来传输数据的,scp/sftp确保传输的一切数据都是加密的。而ftp一般来说允许明文传输,当然现在也有带SSL的加密ftp,有些服务器软件也可以设置成“只允许加密连接”,但是毕竟不是默认设置需要我们手工调整,而且很多用户都会忽略这个设置。
(2)普通ftp仅使用端口21作为命令传输。由服务器和客户端协商另外一个随机端口来进行数据传送。在pasv模式下,服务器端需要侦听另一个口。假如服务器在路由器或者防火墙后面,端口映射。会比较麻烦,因为无法提前知道数据端口编号,无法映射。(现在的ftp服务器大都支持限制数据端口随机取值范围,一定程度上解决这个问题,但仍然要映射21号以及一个数据端口范围,还有些服务器通过UPnP协议与路由器协商动态映射,但比较少见)
(3)当你的网络中还有一些unix系统的机器时,在它们上面自带了scp等客户端,不用再安装其它软件来实现传输目的。
(4)scp/sftp属于开源协议,我们可以免费使用不像FTP那样使用上存在安全或版权问题。所有scp/sftp传输软件(服务器端和客户端)均免费并开源,方便我们开发各种扩展插件和应用组件。
小提示:当然在提供安全传输的前提下sftp还是存在一些不足的,例如他的帐号访问权限是严格遵照系统用户实现的,只有将该帐户添加为操作系统某用户才能够保证其可以正常登录sftp服务器。
sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的加密方法。sftp 与 ftp 有着几乎一样的语法和功能。sFTP 为 SSH的一部分,是一种传输档案至 Blogger 伺服器的安全方式。其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol的安全文件传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。SFTP同样是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP。 命令: /etc/init.d/sshd start /etc/init.d/sshd stop 这样启动之后,用FlashFXP工具使用SFTP连接是可以连接上的,但如果使用Java编写的程序连接,发现出现了错误,报的错误是Auth fail ,验证出错。 出现这个问题的原因是 |
/etc/ssh/sshd_config文件夹的一个配置项PasswordAuthentication
默认为no,“PasswordAuthentication”设置是否允许口令验证。把它改为yes,重启服务就OK了。
sftp使用方法:
格式:sftp
通过sftp连接
格式:sftp -oPort=
通过sftp连接
格式:sftp
通过sftp连接
格式:sftp -oPort=
通过sftp连接
sftp连接成功之后常用操作命令如下:
help/? 打印帮助信息。
pwd 查看远程服务器当前目录;
lpwd 查看本地系统的当前目录。
cd
lcd
ls 显示远程服务器上当前目录的文件名;
ls -l 显示远程服务器上当前目录的文件详细列表;
ls
ls -l
lls 显示本地系统上当前目录的文件名;
lls的其他参数与ls命令的类似。
get
get
put
get
progress 切换是否显示文件传输进度。
mkdir
lmkdir
exit/quit/bye 退出sftp。
! 启动一个本地shell。
!
其他命令还有:chgrp, chmod, chown, ln, lumask, rename, rm, rmdir, symlink, version。