ftp以及sftp使用

来源:互联网 发布:雨果博斯 知乎 编辑:程序博客网 时间:2024/05/29 18:31

[root@ppp ~]# ftp localhost 21      
Connected to localhost.
220 (vsFTPd 2.2.2)
530 Please login with USER and PASS.
Name (localhost:root): ppp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (127,0,0,1,74,201).
150 Here comes the directory listing.
drwxr-xr-x    2 501      502          4096 Oct 16 08:43 jars
drwxr-xr-x    2 501      502          4096 Oct 16 08:47 ria
drwxrwxr-x    9 501      502          4096 Oct 14 13:22 tomcat
drwxr-xr-x    2 501      502          4096 Oct 16 08:41 tools
226 Directory send OK.

Echo 密码 |passwd –stdin 用户名
ftp命令是用     ftp  服务器地址 端口 

                        再输入用户名密码

 

 #!/bin/bash
ftp -n<<!
open 192.168.1.171
user guest 123456
binary
cd /home/data
lcd /home/databackup
prompt
mget *
close
bye
!

lftp

wenjian=`date +%Y%m%d --date="-1 day"`

 

[root@ppp ~]# lftp -d localhost -u ppp -p 21
Password:
lftp ppp@localhost:~> 

lftp pos@localhost:/> ls
drwxr-xr-x    2 501      502          4096 Oct 16 08:43 jars
drwxr-xr-x    2 501      502          4096 Oct 16 08:47 ria
drwxrwxr-x    9 501      502          4096 Oct 14 13:22 tomcat
drwxr-xr-x    2 501      502          4096 Oct 16 08:41 tools
lftp ppp@localhost:/> exit

[root@ppp ~]# lftp -p 1223-u user,passwd  sftp://192.168.1.12<<EOF
cd  20130101
put 20130101.txt
exit
EOF

 

SFTP 为 SSH的一部份,是一种传输档案至 Blogger 伺服器的安全方式。其实在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。SFTP同样是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的

sftp的ChrootDirectory设置

在低版本的centos中(低于6)sftp的openssh软件版本较低,所以版本需要4.8以上,如下升级openssh

一:安装相关软件

yum install gcc
yum install openssl-devel
yum install pam-devel 
yum install rpm-build

 不安装以上的软件,在编译openssh的时候会报错。

二:下载openssh 4.8以上的源码包

 wget http://mirror.internode.on.net/pub/OpenBSD/OpenSSH/portable/openssh-5.6p1.tar.gz

三:cp ./openssh-5.8p2/contrib/redhat/openssh.spec /usr/src/redhat/SPECS/
cp openssh-5.8p2.tar.gz /usr/src/redhat/SOURCES/
cd /usr/src/redhat/SPECS
perl -i.bak -pe 's/^(%define no_(gnome|x11)_askpass)\s+0$/$1 1/' openssh.spec
rpmbuild -bb openssh.spec

四:cd /usr/src/redhat/RPMS/`uname -i`
rpm -Uvh openssh*rpm

 

注意:在安装的时候 有如下错误的

# rpm -Uvh openssh*rpm
error: Failed dependencies:
        openssh = 4.3p2-29.el5 is needed by (installed) openssh-askpass-4.3p2-29.el5.x86_64

 

这时 需要 yum remove openssh-askpass-4.3p2-29.el5.x86_64 再 做第四部

 

最后sftp的配置

步骤如下:

一:建立用户 --略

二:配置

编辑 /etc/ssh/sshd_conf

#Subsystem      sftp    /usr/libexec/openssh/sftp-server


Subsystem       sftp    internal-sftp
Match User ab
ChrootDirectory /data/abc
ForceCommand    internal-sftp
AllowTcpForwarding no
X11Forwarding no

 

ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root;
ChrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,权限最大设置只能是755。
如果不能遵循以上2点,即使是该目录仅属于某个用户,也可能会影响到所有的SFTP用户。
 
 
vsftp虚拟用户的搭建。

 

 

原创粉丝点击