15.4 xshell使用xftp传输文件 15.5 使用pure-ftpd搭建ftp服务

15.4 xshell使用xftp传输文件

  • 打开xshell,新建一个会话窗口
  • 输入它的用户名 root 密码123465
  • 这个时候它默认是在root下
sftp:/root> ls
dr-xr-x---    5 root     root          259 Nov  2 22:00 .
dr-xr-xr-x   18 root     root          236 Oct  5 15:52 ..
-rw-r--r--    1 root     root           18 Dec 29  2013 .bash_logout
-rw-------    1 root     root         6472 Oct 30 23:09 .mysql_history
-rw-r--r--    1 root     root          176 Dec 29  2013 .bash_profile
-rw-r--r--    1 root     root          176 Dec 29  2013 .bashrc
-rw-r--r--    1 root     root          100 Dec 29  2013 .cshrc
-rw-r--r--    1 root     root          129 Dec 29  2013 .tcshrc
-rw-------    1 root     root         1261 Oct  5 22:26 anaconda-ks.cfg
-rw-------    1 root     root        27894 Nov  1 22:35 .bash_history
drwxr-----    3 root     root           19 Oct  5 21:56 .pki
-rw-------    1 root     root         1024 Oct 23 22:25 .rnd
-rw-------    1 root     root           91 Oct 30 23:19 .lesshst
-rw-------    1 root     root         7537 Nov  2 21:45 .viminfo
drwxr-xr-x    3 root     root           19 Nov  2 21:57 .local
drwxr-xr-x    3 root     root           18 Nov  2 21:57 .config
-rw-r--r--    1 root     root            0 Nov  2 21:25 aming.txt
sftp:/root> 

sftp:/root> cd /tmp
sftp:/tmp> ls
drwxrwxrwt    8 root     root          240 Nov  2 21:55 .
dr-xr-xr-x   18 root     root          236 Oct  5 15:52 ..
srwxrwxrwx    1 mysql    mysql           0 Nov  2 20:45 mysql.sock
srw-rw-rw-    1 root     root            0 Nov  2 20:45 php-fcgi.sock
srw-rw-rw-    1 root     root            0 Nov  2 20:45 aming.sock
-rw-r--r--    1 root     root            0 Nov  2 20:45 test.com.log
drwx------    3 root     root           60 Nov  2 20:45 systemd-private-5e78e1c53e0f46fcab6cfa62e93122d0-vmtoolsd.service-hMpOXS
drwxrwxrwt    2 root     root           40 Nov  2 20:45 .XIM-unix
drwxrwxrwt    2 root     root           40 Nov  2 20:45 .ICE-unix
drwxrwxrwt    2 root     root           40 Nov  2 20:45 .font-unix
drwxrwxrwt    2 root     root           40 Nov  2 20:45 .Test-unix
drwxrwxrwt    2 root     root           40 Nov  2 20:45 .X11-unix
  • 可以get一个文件
Fetching /tmp/test.com.log to test.com.logsftp: received 0 in 0.02 seconds
sftp:/tmp>
  • get的文件在这里
  • 默认是放到桌面上
  • 这个时候get一个文件,它直接回给你传到你的桌面上
  • 这种是命令行,不太直观,
  • 实际上还有一种方案,使用xftp,这个需要你安装一个插件的,可以使用快捷键ctrl alt f
  • 使用xshell登录一个在线的主机,按下ctrl+alt+f,会自动弹出一个xftp的提示下载界面
  • 直接点击下载ftp,这里直接去r.aminglinux.com 找下载好的文件
  • 先把这个关掉,再去服务端机器上 再来运行Ctrl alt f
  • 现在把21端口的 vsftpd 服务停掉,再试下传输文件
[[email protected] ~]# systemctl stop vsftpd
[[email protected] ~]# netstat -lntpActive Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1239/nginx: master  
tcp        0      0 0.0.0.0:20048           0.0.0.0:*               LISTEN      1067/rpc.mountd     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1002/sshd           
tcp        0      0 0.0.0.0:43927           0.0.0.0:*               LISTEN      -                   
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2134/master         
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      1239/nginx: master  
tcp        0      0 0.0.0.0:2049            0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:38024           0.0.0.0:*               LISTEN      910/rpc.statd       
tcp6       0      0 :::3306                 :::*                    LISTEN      2026/mysqld         
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::20048                :::*                    LISTEN      1067/rpc.mountd     
tcp6       0      0 :::34868                :::*                    LISTEN      910/rpc.statd       
tcp6       0      0 :::22                   :::*                    LISTEN      1002/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      2134/master         
tcp6       0      0 :::41152                :::*                    LISTEN      -                   
tcp6       0      0 :::2049                 :::*                    LISTEN      -                   
[[email protected] ~]#

-双击文件或者把文件拖过去就可以 

  • 现在桌面已经有这个文件了aming.txt 
  • # 15.5 使用pure-ftpd搭建ftp服务
    - pure-ftpd 比vftpd更加的轻量;更加简单
    - 安装包
    - yum install -y pure-ftpd
    ```
    [[email protected] ~]# yum install -y pure-ftpd
    已加载插件:fastestmirror
    Loading mirror speeds from cached hostfile
    
    已安装:
      pure-ftpd.x86_64 0:1.0.42-3.el7                                                            
    
    作为依赖被安装:
      postgresql-libs.x86_64 0:9.2.23-1.el7_4            usermode.x86_64 0:1.111-5.el7           
    
    完毕!
    [[email protected] ~]# 
    ```
    - 更改配置文件vim /etc/pure-ftpd/pure-ftpd.conf
    ```
    [[email protected] ~]# vim /etc/pure-ftpd/pure-ftpd.conf
    
    ############################################################
    #                                                          #
    #         Configuration file for pure-ftpd wrappers        #
    #                                                          #
    ############################################################
    
    # If you want to run Pure-FTPd with this configuration   
    # instead of command-line options, please run the
    # following command :
    #
    # /usr/sbin/pure-config.pl /etc/pure-ftpd/pure-ftpd.conf
    #
    # Please don‘t forget to have a look at documentation at
    # http://www.pureftpd.org/documentation.shtml for a complete list of
    # options.
    
    # Cage in every user in his home directory
    
    ChrootEveryone              yes
    
    # If the previous option is set to "no", members of the following group
    # won‘t be caged. Others will be. If you don‘t want chroot()ing anyone,
    # just comment out ChrootEveryone and TrustedGID.
    
    # TrustedGID                    100
    ```
    - 搜索pdb  把前面的井号删除,y也就是说要把前面的密码 这一行指定
    ```
    PureDB                        /etc/pure-ftpd/pureftpd.pdb
    
    # Path to pure-authd socket (see README.Authentication-Modules)
    
    # ExtAuth                       /var/run/ftpd.sock
    
    # If you want to enable PAM authentication, uncomment the following line
    
    PAMAuthentication             yes
    
    :wq   
    [[email protected] ~]# vim /etc/pure-ftpd/pure-ftpd.conf
    [[email protected] ~]# 
    ```
    - 因为vsftpd 和pure-ftpd 都是监听21端口,如果装有vsftpd,需要先暂停服务,如果不停掉在启动pure-ftpd的时候会报错,因为你的21端口被占用了,
    ```
    [[email protected] ~]# systemctl stop vsftpd
    [[email protected] ~]# systemctl start pure-ftpd
    [[email protected] ~]# ps aux |grep ftp
    root       2396  0.0  0.1  53188  1944 ?        Ss   23:24   0:00 /usr/libexec/openssh/sftp-server
    root       2535  0.0  0.1 202424  1196 ?        Ss   23:49   0:00 pure-ftpd (SERVER)
    root       2537  0.0  0.0 112680   980 pts/0    R+   23:50   0:00 grep --color=auto ftp
    [[email protected] ~]# netstat -lntp
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
    tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1239/nginx: master  
    tcp        0      0 0.0.0.0:20048           0.0.0.0:*               LISTEN      1067/rpc.mountd     
    tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      2535/pure-ftpd (SER 
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1002/sshd           
    tcp        0      0 0.0.0.0:43927           0.0.0.0:*               LISTEN      -                   
    tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2134/master         
    tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      1239/nginx: master  
    tcp        0      0 0.0.0.0:2049            0.0.0.0:*               LISTEN      -                   
    tcp        0      0 0.0.0.0:38024           0.0.0.0:*               LISTEN      910/rpc.statd       
    tcp6       0      0 :::3306                 :::*                    LISTEN      2026/mysqld         
    tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
    tcp6       0      0 :::20048                :::*                    LISTEN      1067/rpc.mountd     
    tcp6       0      0 :::34868                :::*                    LISTEN      910/rpc.statd       
    tcp6       0      0 :::21                   :::*                    LISTEN      2535/pure-ftpd (SER 
    tcp6       0      0 :::22                   :::*                    LISTEN      1002/sshd           
    tcp6       0      0 ::1:25                  :::*                    LISTEN      2134/master         
    tcp6       0      0 :::41152                :::*                    LISTEN      -                   
    tcp6       0      0 :::2049                 :::*                    LISTEN      -                   
    [[email protected] ~]# 
    
    ```
    - 下面我们来创建一个测试的目录
    - 给pure-ftpd用户使用
    mkdir /data/ftp
    - 创建一个普通用户
    useradd -u 1010 pure-ftp
    - 更改一下属主、属组权限
    chown -R pure-ftp:pure-ftp /data/ftp
    - 创建一个用户,
    - 同样是虚拟用户映射系统用户
    pure-pw useradd [指定用户] -u [指定系统用户]  -d [指定虚拟用户的家目录]
    pure-pw useradd ftp_usera -u pure-ftp  -d /data/ftp    //密码为“123456”
    - 添加完之后,让 pure-ftpd 建立虚拟用户数据 pure-pw mkdb 
    
    - 查看命令说明文件pure-pw list/userdel/usermod/passwd
    ```
    [[email protected] ~]# mkdir /data/ftp
    [ro[email protected] ~]# useradd -u 1010 pure-ftp
    [[email protected] ~]# chown -R pure-ftp:pure-ftp /data/ftp
    [[email protected] ~]# 
    
    [[email protected] ~]# pure-pw useradd ftp_usera -u pure-ftp  -d /data/ftp
    Password: 
    Enter it again: 
    [[email protected] ~]# pure-pw mkdb
    
    ```
    - 下面来测试下
    ```
    [[email protected] ~]# touch /data/ftp/123.txt
    [[email protected] ~]# lftp [email protected]
    口令: 
    lftp [email protected]:~> ls      
    drwxr-xr-x    2 1010       pure-ftp           21 Nov  3 00:00 .
    drwxr-xr-x    2 1010       pure-ftp           21 Nov  3 00:00 ..
    -rw-r--r--    1 0          0                   0 Nov  3 00:00 123.txt
    lftp [email protected]:/> 
    ```
    - 不妨给它改下属主属组
    ```
    lftp [email protected]:/> quit
    [[email protected] ~]# chown pure-ftp:pure-ftp /data/ftp/123.txt
    [[email protected] ~]# lftp [email protected]
    口令: 
    lftp [email protected]:~> ls      
    drwxr-xr-x    2 1010       pure-ftp           21 Nov  3 00:00 .
    drwxr-xr-x    2 1010       pure-ftp           21 Nov  3 00:00 ..
    -rw-r--r--    1 1010       pure-ftp            0 Nov  3 00:00 123.txt
    lftp [email protected]:/> 
    lftp [email protected]:/> quit
    [[email protected] ~]# 
    
    ```
    
    - 扩展
    - [x] vsftp使用mysql存放虚拟用户并验证 http://www.aminglinux.com/bbs/thread-342-1-1.html
    
    vsftp 利用mysql 验证虚拟账户
    
    账户 验证 虚拟 vsftp mysql 资料分享
    1  安装vsftpd
    ```
    (1) yum install -y  vsftpd
    
    (2)编辑vsftpd.conf
    
    内容如下
    
    listen=YES
    
    connect_from_port_20=YES
    
    pasv_enable=YES
    
    tcp_wrappers=YES
    
    local_enable=YES
    
    chroot_local_user=yes
    
    anonymous_enable=NO
    
    guest_enable=YES
    
    guest_username=vsftpdguest
    
    user_config_dir=/etc/vsftpd/vsftpd_user_conf
    
    pam_service_name=/etc/pam.d/vsftpd
    
    dirmessage_enable=YES
    
    idle_session_timeout=600
    
    check_shell=NO
    
    (3)创建一个虚拟用户映射系统用户    
    
    useradd –s /sbin/nologin vsftpdguest
    
    2 安装 mysql
    
    具体步骤参考 http://www.lishiming.net/thread-7-1-2.html
    
    3 安装 pam-mysql
    
    wget  https://nchc.dl.sourceforge.net/project/pam-mysql/pam-mysql/0.7RC1/pam_mysql-0.7RC1.tar.gz
    
    tar zxvf  pam_mysql-0.7RC1.tar.gz
    
    cd pam_mysql-0.7RC1
    
    ./configure --with-mysql=/usr/local/mysql --with-pam=/usr --with-pam-mods-dir=/usr/lib
    
    make && make install
    
    4 创建vsftp 库和相关的表并授权
    
    >create database vsftp;
    
    >use vsftp ;
    
    >create table users ( name char(16) binary ,passwd char(125) binary ) ;
    
    >insert into users (name,passwd) values (‘test001‘,password(‘123456‘));
    
    >insert into users (name,passwd) values (‘test002‘,password(‘234567‘));
    
    >grant select on vsftp.users to [email protected] identified by ‘vsftpdguest‘;
    ```
    5 创建虚拟账户的配置文件
    ```
    
    mkdir /etc/vsftpd/vsftpd_user_conf 
    
    cd  /etc/vsftpd/vsftpd_user_conf
    
    vim test001
    
    内容如下
    
    local_root=/ftp/        
    
    write_enable=YES
    
    virtual_use_local_privs=YES
    
    chmod_enable=YES
    
    6  编辑验证文件
    
    vim  /etc/pam.d/vsftpd
    
    内容如下
    
    #%PAM-1.0
    
    auth required /usr/lib/pam_mysql.so user=vsftpdguest passwd=vsftpdguest host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2
    
    account required /usr/lib/pam_mysql.so user=vsftpdguest passwd=vsftpdguest host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2
    ```
    - 如果不想使用mysql也可以使用文件的形式来搞虚拟账号,请参考  Centos5.5 配置vsftpd 虚拟账号
    
    - [x]  ftp的主动和被动模式 http://www.aminglinux.com/bbs/thread-961-1-1.html
    ftp的主动模式与被动模式的区别是什么?
    
    中文意思 客户端 服务器 资料分享
    FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动模式和被动模式
    一、什么是主动FTP  
    
            主动模式的FTP工作原理:客户端从一个任意的非特权端口N连接到FTP服务器的命令端口,也就是21端口。然后客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器。接着服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1)。
    
        针对FTP服务器前面的防火墙来说,必须允许以下通讯才能支持主动方式FTP:    
    
        1、 任何大于1024的端口到FTP服务器的21端口。(客户端初始化的连接)  
    
        2、 FTP服务器的21端口到大于1024的端口。 (服务器响应客户端的控制端口) 
    
        3、 FTP服务器的20端口到大于1024的端口。(服务器端初始化数据连接到客户端的数据端口)
    
        4、 大于1024端口到FTP服务器的20端口(客户端发送ACK响应到服务器的数据端口) 
    
    二、什么是被动FTP  
    
        为了解决服务器发起到客户的连接的问题,人们开发了一种不同的FTP连接方式。这就是所谓的被动方式,或者叫做PASV,当客户端通知服务器它处于被动模式时才启用。
    
       在被动方式FTP中,命令连接和数据连接都由客户端发起,这样就可以解决从服务器到客户端的数据端口的入方向连接被防火墙过滤掉的问题。
    
       当开启一个 FTP连接时,客户端打开两个任意的非特权本地端口(N > 1024和N+1)。第一个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交 PASV命令。这样做的结果是服务器会开启一个任意的非特权端口(P > 1024),并发送PORT P命令给客户端。然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。  
    
           对于服务器端的防火墙来说,必须允许下面的通讯才能支持被动方式的FTP:     
    
        1、 从任何大于1024的端口到服务器的21端口(客户端初始化的连接)  
    
        2、 服务器的21端口到任何大于1024的端口(服务器响应到客户端的控制端口的连接) 
    
        3、 从任何大于1024端口到服务器的大于1024端口(客户端初始化数据连接到服务器指定的任意端口)
    
        4、 服务器的大于1024端口到远程的大于1024的端口(服务器发送ACK响应和数据到客户端的数据端口)
    
    从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就完全不同,如下图:
    FTP服务器的主动工作模式
    port.jpg
    
    FTP服务器的被动工作模式
    pasv.jpg
    
    以上关于主动和被动FTP的解释,可以简单概括为以下两点:
    
        1、主动FTP:  
    
                命令连接:客户端 >1024端口 -> 服务器 21端口  
    
                数据连接:客户端 >1024端口 <- 服务器 20端口 
    
        2、被动FTP: 
    
                命令连接:客户端 >1024端口 -> 服务器 21端口 
    
                数据连接:客户端 >1024端口 -> 服务器 >1024端口
    
    三、主动模式ftp与被动模式FTP优点和缺点:       
    
       主动FTP对FTP服务器的管理和安全很有利,但对客户端的管理不利。因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端的防火墙阻塞掉。被动FTP对FTP客户端的管理有利,但对服务器端的管理不利。因为客户端要与服务器端建立两个连接,其中一个连到一个高位随机端口,而这个端口很有可能被服务器端的防火墙阻塞掉。
    pasv.jpg
时间: 2024-10-15 01:39:33

15.4 xshell使用xftp传输文件 15.5 使用pure-ftpd搭建ftp服务的相关文章

15.4 xshell使用xftp传输文件15.5 使用pure-ftpd搭建ftp服务

15.4 xshell使用xftp传输文件进去页面下载完成后安装 再连接就可以了两边可以相互传输文件了15.5 使用pure-ftpd搭建ftp服务vim /etc/pure-ftpd/pure-ftpd.conf查看一下进程与21端口useradd ftp_usera 创建用户ftp_usera ,-u pure-ftp 指定系统用户pure-ftp,指定目录-d /data/ftppure-pw mkdb是把系统的密码转化成系统可以识别的文件后面就是测试更改属主属主扩展vsftp使用mysq

Xshell使用xftp传输文件,使用pure-ftpd搭建ftp服务

笔记内容: 15.4 xshell使用xftp传输文件 15.5 使用pure-ftpd搭建ftp服务 笔记日期:2017-11-03 15.4 xshell使用xftp传输文件 在官网下载xftp,地址: http://www.netsarang.com/download/down_form.html?code=523&downloadType=0&licenseType=1 然后到邮箱里点击下载地址: 跳转之后会弹出下载窗口: 下载完成之后: 开始安装: 安装完成,打开后会看到如下界面

xshell使用xftp传输文件、使用pure-ftpd搭建ftp服务

15.4 xshell使用xftp传输文件 下载xftp软件 安装xftp软件 连接ftp服务器 刚开始运行,关闭掉xftp软件. 需要先登录xshell 5. 打开 Ctrl + Alt + F 组合键,自动关联xftp软件. 15.5 使用pure-ftpd搭建ftp服务 在搭建ftp服务,使用pure-ftpd搭建比较轻量.简单. 安装pure-ftpd [[email protected] ~]# yum install -y pure-ftpd 修改配置文件 [[email prote

xshell使用xftp传输文件 使用pure-ftpd搭建ftp服务

xshell使用xftp传输文件 下载xftp5 https://www.baidu.com/link?url=8rtxgX3JRIbUFO1Samzv5aXhfwRG7Cf8i4vi573QexoHihu9t3gw7ewCR_SJGJBZnyjVkzVrWt1CDmsh5YhowBZwbD71VfObhawNkHIys03&wd=&eqid=8fa2a9cd0007739f000000025ac0e0c0 Sftp  22端口 即可登录文件系统 使用pure-ftpd搭建ftp服务 yu

FTP:介绍、vsftpd搭建ftp、xshell使用xftp传输文件、pure-ftpd搭ftp

             FTP介绍 (rz和sz: 传文件    rz:window-->linux    sz:linux-->window  文件超过4GB则不管用)                       使用vsftpd搭建ftp服务 1.安装:yum install -y vsftpd 2.创建用户: (vsftpd默认支持是可以使用系统账号登录的,但是这样不安全,因为我们系统的用户是可以登录,然后去操作我们的操作系统的.所以使用虚拟账号体系,创建虚拟用户,虚拟用户是不能登陆到

xshell使用xftp传输文件和使用pure-ftpd搭建ftp服务

xshell使用xftp传输文件 首先安装xftp,然后建立会话,步骤和xshell一样,在使用的时候用Ctrl+ALT+f呼出,左边是windows桌面,右面是linux,双击或拖拽都可以实现命令互传. 使用pure-ftpd搭建ftp服务 首先安装yum install -y pure-ftpd 更改配置文件vim /etc/pure-ftpd/pure-ftpd.conf//找到pureftpd.pdb这行,把行首的#删除 systemctl stop vsftpd(如果我们以前启动了vs

xshell使用xftp传输文件 、使用pure-ftpd搭建ftp服务

一.xshell使用xftp传输文件下载xftp :r.aminglinux.com使用ctrl+alt+f 输入密码就直接进入root目录了. 二.使用pure-ftpd搭建ftp服务1.安装pure-ftpdyum install -y pure-ftpd(在安装之前,我们要安装epel-release扩展源cd /etc/yum.repos.dyum install -y epel-release 2.编辑配置文件vim /etc/pure-ftpd/pure-ftpd.conf//找到p

xftp、使用pure-ftpd搭建FTP服务

15.4 xshell使用xftp传输文件 在xshell中退出当前会话使用组合键:Ctrl+Alt+f,出现如下所示内容:mark 点击"下载",根据提示下载安装xftp插件,安装完成后在已经登录的xshell界面再次使用组合键:Ctrl+Alt+f将生成新的xftp对话,如下图: mark 在此可直接进行文件的传输. 15.5 使用pure-ftpd搭建ftp服务 安装pure-ftpd 先安装扩展源:[[email protected] ~]# yum install -y ep

56.xftp传输文件、使用pure-ftpd搭建ftp服务

一.vftp传输文件 首先安装xftp,直接去xshell官网下载安装即可, 在xshell中登陆linux主机,然后按 ctrl+alt+f 就可以调出xftp,也可以直接在xshell中点击上放工具栏中的xftp图标,窗口左边是电脑本地的文件,右边是linux服务器中的文件,直接拖拽或者双击即可传输文件 二.使用pure-ftpd搭建ftp服务 yum install -y epel-release //没有epel源的要添加源,已安装就忽略这一行 yum install -y pure-f