Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1941942
  • 博文数量: 424
  • 博客积分: 1291
  • 博客等级: 中尉
  • 技术积分: 2682
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-13 01:34
个人简介

linux oracle 网络安全 编程

文章分类

全部博文(424)

文章存档

2016年(22)

2015年(53)

2014年(57)

2013年(242)

2012年(50)

分类: LINUX

2013-01-24 22:19:06

SFTPSSH 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连接,端口为默认的22,用户为Linux当前登录用户。


格式:sftp -oPort=

通过sftp连接,指定端口,用户为Linux当前登录用户。


格式:sftp @

通过sftp连接,端口为默认的22,指定用户


格式: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。

 

阅读(13324) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~