Showing posts with label FTP. Show all posts
Showing posts with label FTP. Show all posts

August 12, 2015

Displaying Hidden Files or Folders in cuteFTP

By default, some servers will hide files with names starting with a period such as ".htaccess" or ".profile".  
To display hidden files on a remote site
  1. In the Site Manager, click the site with the hidden files.
  2. On the Actions tab, click Filter.
  3. Select the Enable filtering check box.
  4. Select the Enable server side filtering check box.
  5. In the Remote filter field, type -a, then click OK.
  6. Connect to the site. You should now be able to see hidden files and folders.

How to Install vsftpd Centos/RHEL/Fedora

vsftpd –Very Secure File Transport Protocol Daemon.


Cài đặt vsfptd

Chạy dòng lệnh sau
sudo yum install vsftpd
Ngoài ra chúng ta cần cài đặt thêm FTP client
sudo yum install ftp

Sau khi tải và cài đặt xong, bạn đã có thể sử dụng ngay được rồi. Tuy nhiên, cần cấu hình thêm một chút để bảo mật hơn cho VPS.
B2: Cấu hình vsftpd.
– Bạn mở file cấu hình hình bằng chương trình vi/vim hoặc nano, ở đây mình sử dụng vi:
1
vi /etc/vsftpd/vsftpd.conf
– Chỉnh sửa một số option sau:
– Thiết lập anonymous_enable từ NO thành YES để không cho phép những người không có tài khoản ftp truy cập lên ftp server.
anonymous_enable=YES
# Bỏ comment dòng local_enable, chuyển thành Yes và cho phép write
local_enable=YES
#Bỏ comment dòng chroot_local_user và chuyển thành Yes để user không thể truy cập các folder khác của server
chroot_local_user=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to LADAIHIEP FTP service
##và thêm dòng này vào cuối
use_localtime=YES
Lưu lại và thoát, xong thì khởi động dịch vụ và cho phép khởi động cùng CentOS
[root@hocmang ~]# service vsftpd restart
Starting vsftpd for vsftpd:                                [  OK  ]
[root@hocmang ~]# chkconfig vsftpd on
B3: Tạo FTP user
Bước tiếp theo chúng ta sẽ tạo user để kết nối FTP
useradd userftp -d /home/domain.com/  # add user vào thư mục /hom/domain của bạn .com
or useradd userftp -d /var/www/html
passwd userftp  # set mât khẩu cho user
Phân quyền cho account
chown -R userftp /home/domain.com/
chown _R userftp /var/www/html
chmod -R 777 /home/domain.com/
B4: Kết nối với FTP server
[root@hocmang ~]# ftp 192.168.80.100 Connected to 192.168.80.100 (192.168.80.100). 220 Welcome to Hocmang FTP service. Name (192.168.80.100:root): thangphan 331 Please specify the password. Password: 500 OOPS: cannot change directory:/home/thangphan Login failed. ftp>
bạn sẽ gặp thông báo “500 OOPS: cannot change directory:/home/thangphan”
Đăng nhập không thành công, bởi vì SELinux chặn user log in vào ftp server, để cho phép thì bạn dùng câu lệnh sau:

[root@hocmang ~]# setsebool -P ftp_home_dir on


Để cho phép kết nối từ xa, bạn phải vào iptables allow port 21 dùng cho ftp
[root@hocmang ~]# vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state –state NEW –dport 21 -j ACCEPT

Disable Selinux  » open the file /etc/selinux/config and find the line
SELINUX=enforcing
and replace with
SELINUX=disabled
now reboot the server and try again.

Sử dụng FileZilla để kết nối với FTP server


Bạn sẽ không kết nối được, Connection timed out, bạn tiến hành sửa file iptables-config như sau:
[root@hocmang ~]# vi /etc/sysconfig/iptables-config
IPTABLES_MODULES=”ip_conntrack_ftp
[…]

Khởi động lại dịch vụ:
[root@hocmang ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]
[root@hocmang ~]# 
service iptables restart 
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]
iptables: Applying firewall rules:                         [  OK  ]
iptables: Loading additional modules: ip_conntrack_ftp     [  OK  ]
Tiếp đến thử đăng nhập lại bằng FileZilla xem  graphic
Tải hướng dẫn bằng PDF

[CentOS] vsftpd server error: 500 OOPS: could not read chroot() list file:/etc/vsftpd.chroot_list

I configured an FTP server for CentOS using vsftpd. However, I can't access the server.
Status: Connecting to IP
Status: Connection established, waiting for welcome message...
Response:   220 (vsFTPd 2.3.2)
Command:    USER userhere
Response:   331 Please specify the password.
Command:    PASS ***************
Response:   500 OOPS: could not read chroot() list file:/etc/vsftpd.chroot_list
Error:  Critical error
Error:  Could not connect to server
SOLVED:
Quick fix would be to disable chroot_list_enable switch in your conf file for Vsftpd( usually in /etc/vsftpd/vsftpd.conf  )
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
Comment out mentioned line above and see it helps or not.
you must apply below command,
setsebool -P ftp_home_dir on
setsebool -P allow_ftpd_full_access=1
I solved this method.

July 25, 2015

FTP Connection fails at 'Retrieving Directory Listing' or 'Connection Established, waiting for welcome message'

If you cannot connect via FTP, and it accepts your username and password, but fails when retrieving a drectory listing or while waiting for welcome message, then you must enable Passive (PASV) mode in your FTP client. There are a few ways that your FTP client may represent this setting:
Enable Passive (PASV) mode or conversely, disable Active (PORT) mode. Note that Active and PORT mode are one and the same, as are Passive and PASV mode.
Although FileZilla comes with Passive mode enabled by default, if it has been changed at some point, you can re-enable Passive mode by completing the following steps
  1. Open Filezilla and open the settings (under the Edit menu)
  2. Under "Connection" select "FTP"
  3. The section at the top is called Transfer Mode. Within that, choose "Passive Mode"
  4. Click OK. You should now be able to connect.
Security Note: connecting via standard FTP is depreciated. We highly recommend using SFTP or FTP with TLS instead. If you have trouble with FTP with TLS enabled, then try out SFTP -- FileZilla will automatically use SFTP if you specify port 22 while connecting.
----

Exact FileZilla error log:

Command:MLSD
Error:Connection timed out
Error:Failed to retrieve directory listing

July 14, 2015

How to Enable Passive FTP

Passive FTP is not enabled with pure-ftp by default. To enable this, edit /etc/pure-ftpd.conf and uncomment out this line:
PassivePortRange 30000 50000
This means that FTP will answer passively on the range of ports between 30000 and 50000, so you may want to narrow the scope to something like 30000 to 35000. Once you do this, you need to restart FTP and open the range of ports you selected in your server’s firewall.
If you’re running ProFTP, you can edit /etc/proftpd.conf and add this line, if it doesn’t already exist elsewhere:
PassivePorts 30000 50000

Changing an FTP User’s Path

By default, your main FTP (cPanel) user will have and FTP path to the user’s home folder, and each FTP user you create after that will have a path that you specify with you create the account in cPanel > FTP accounts.
Unfortunately, cPanel’s interface does not currently let you change the FTP paths for your main account or sub-accounts, but you can easily change these in the FTP user configuration files. Each cPanel user has a file in /etc/proftpd (yes, even if you use pure-ftp), which contains the information about the FTP users for that account. A sample FTP user file for the cPanel ‘user1′ may look like this:
newuser:$1$K4v6EN_V$gmV/YZVYP1w/oJRy/72cg.:2110:2098:user1:/home/user1/public_html/newuser:/bin/ftpsh
user1:$1$21PI_llg$mkBe12xsL2K3YZPSkM.3..:2110:2098::/home/user1:/bin/ftpsh
user_logs:$1$21PI_llg$mkBe12xsL2K3YZPSkM.3..:2110:2098:user1:/usr/local/apache/domlogs/user1:/bin/ftpsh
If you want to change the FTP root for any of the users, simply make the change in this file and restart your FTP service.

June 26, 2015

Cài đặt Chroot SFTP Linux trên Debian/Ubuntu

SFTP server là một loại file server, dùng giao thức bảo mật SSH, mỗi người dùng được tạo một tài khoản lưu trữ trên server. Người dùng có thể truy cập vào server bằng tài khoản của mình bằng FTP hoặc SSH, làm việc trong folder riêng của mình và không gây ảnh hưởng đến các user khác.

Khi chưa cấu hình Chroot: (user có thể truy cập vào /etc )


$sftpjohn@192.168.1.200
john@192.168.1.200'spassword:
Connectedto192.168.1.200.
sftp>pwd
Remoteworkingdirectory:/home/john
sftp>cd/etc/


1. Cài đặt OpenSSH Server:
Trước tiên ta kiểm tra OpenSSH server đã được cài đặt hay chưa:

#dpkg--list|grepopenssh-server
iiopenssh-server 1:6.0p1-4+deb7u1amd64secureshell(SSH)server,forsecureaccessfromremotemachines
Trường hợp này thì OpenSSH đã được cài đặt, nếu OpenSSH chưa được cài đặt thì sẽ không xuất hiện dòngii openssh-server, để cài đặt ta dùng lệnh:


#apt-getinstallopenssh-server


2. Tạo Group chứa user truy cập SFTP:
Tạo 1 nhóm mới tên sftpusers, chỉ có các user trong nhóm này mới được phép truy cập SFTP:

#groupaddsftpusers
Tạo mới 1 user john và add user bày vào group sftpuser:

#useradd -gsftpusers -mjohn
Nếu user đã tồn tại, ta chỉ việc add nó vào group:

#usermod -gsftpusersjohn


3. Tạo thư mục làm việc cho mỗi user:
Trong thư mục home của mỗi user mới tạo (/home/username), ta sẽ tạo ra các folder mới để user sẽ làm việc (lưu trữ dữ liệu) trực tiếp trên folder này:
Tạo 2 folder (public_html và logs) cho user john:

#mkdir/home/john/{public_html,logs} -p


4. Chmod folder home của user:
Ủy quyền truy cập folder /home/username cho root và chmod 755 cho folder này, các folder bên trong folder này sẽ được ủy quyền cho chinh user truy cập (john):


#chownjohn:sftpusers/home/john/ -R
#chownroot:sftpusers/home/john/
#ls -l/home/
drwxr-xr-x4root sftpusers4096Jun2703:01john
#ls -l/home/john/
total8
drwxr-xr-x2johnsftpusers4096Jun2703:01logs
drwxr-xr-x2johnsftpusers4096Jun2703:01public_html


5. Cấu hình SFTP Server:
Mở file /etc/ssh/sshd_config, tìm đến dòng bên dưới và comment dòng đó lại:

#Subsystemsftp/usr/lib/openssh/sftp-server
Chèn Subsystem sftp internal-sftp vào bên dưới, ta sẽ đc:

#Subsystemsftp/usr/lib/openssh/sftp-server
Subsystemsftpinternal-sftp
Kế tiếp, ta chèn thêm đoạn sau đây vào cuối file:
Trong đó: sftpusers là tên Group vừa tạo:


Matchgroupsftpusers
ChrootDirectory/home/%u
X11Forwardingno
AllowTcpForwardingno
Lưu file sshd_config, thoát và khởi động lại ssh:


#servicesshrestart
[ok]RestartingOpenBSDSecureShellserver:sshd.


6. Kiểm tra:
Ta có thể thử kết nối SSH hoặc FTP đến Server từ máy Client:
Kết nối SFTP Server bằng Filezilla CLient:


Kiểm tra kết nối SFTP từ terminal:

$sftpjohn@192.168.1.200
john@192.168.1.200'spassword:
Connectedto192.168.1.200.
sftp>pwd
Remoteworkingdirectory:/
sftp>ls
logs public_html
sftp>
Kết nối đến Server bằng SSH:
Hãy chắc chắn rằng trong file file /etc/ssh/sshd_config đã unconment dòng:

UseLoginyes


$sshjohn@192.168.1.200
john@192.168.1.200'spassword:
Linuxdebian3.2.0-4-amd64#1SMPDebian3.2.57-3+deb7u2x86_64
TheprogramsincludedwiththeDebianGNU/Linuxsystemarefreesoftware;
theexactdistributiontermsforeachprogramaredescribedinthe
individualfilesin/usr/share/doc/*/copyright.
DebianGNU/LinuxcomeswithABSOLUTELYNOWARRANTY,totheextent
permittedbyapplicablelaw.
$ls
logspublic_html
$pwd
/home/john


Chúc thành công!

June 16, 2015

FileZilla FTP "Failed to retrieve directory listing" Error

When I use FileZilla to connect to my FTP I get an error like this:
Response: 200 PORT command successful. Consider using PASV.
Command: LIST
Error: Connection timed out
Error: Failed to retrieve directory listing
If you have a similar problem with Filezilla, and the problem persists even when the Windows Firewall is disabled, here is what you need to do:
  • Open Filezilla, go to Edit -> Settings
  • Click on Connection -> FTP: Choose Active
  • Click on Connection -> FTP -> Active Mode: Select "Ask your operating system for the external IP address"
  • Click on Connection -> FTP -> Passive Mode: Choose Fall Back to Active Mode
  • Press OK.
Try connecting to your FTP site once again.