Stack Exchange Network

Stack Exchange network consists of 175 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange

Hot answers tagged

63

Method 1: Changing the user's home directory Make sure the following line exists chroot_local_user=YES Set user HOME Directory to /var/www/ , if you want to change for existing user then you can use: usermod --home /var/www/ username then set required permission on /var/www/ Method 2: Use user_sub_token If you don't want to change user's Home ...


31

Could you try this chown -R ftpusername /var/www/html


26

Your ftp server needs a channel to transfer data. Port 21 is used to establish the connection. So to make data transfer possible you'd need to enable port 20 as well. See the following configuraton First load the following module to make sure passive ftp connections are not rejected modprobe ip_conntrack_ftp Allow FTP connections on port 21 incoming and ...


25

Give this a try: $ lftp lftp :~> set ftp:ssl-force true lftp :~> connect ftp.domain.tld lftp ftp.domain.tld:~> login <username> NOTE: If the server is making use of self signed certificates you may need to add this set as well: lftp :~> set ssl:verify-certificate no


21

FTP is not a remote shell like SSH or telnet. FTP is a protocol with only a few select commands. See the standard RFC 959 for details about the supported commands. The various terminal interfaces which exist and the various graphical FTP clients essentially just translate some local commands or clicks into a FTP command. For example many terminal clients ...


20

Whew. I solved the problem. It amounts to a config but within /etc/pam.d/vsftpd Because ssh sessions succeeded while ftp sessions failed, I went to /etc/pam.d/vsftpd, removed everything that was there and instead placed the contents of ./sshd to match the rules precisely. All worked! By method of elimination, I found that the offending line was: ...


17

There are two likely reasons that this could happen -- you do not have write and execute permissions on the directories leading to the directory you are trying to upload to, or vsftpd is configured not to allow you to upload. In the former case, use chmod and chown as appropriate to make sure that your user has these permissions on every intermediate ...


17

When you define an alias, the command you set is run instead of the one you wrote. This means that when you run ftp abc.com, what is actually executed is echo do not use ftp. Use sftp instead abc.com A simple solution is to use a function instead of an alias: ftp(){ echo 'do not use ftp. Use sftp instead'; } Alternatively, you could use printf as ...


16

alias ftp='echo do not use ftp. Use sftp instead. # '


15

from man ftp on my CentOS If auto-login is enabled, ftp will check the .netrc (see below) file in the user’s home directory for an entry describing an account on the remote machine. If no entry exists, ftp will prompt for the remote machine login name (default is the user identity on the local machine), and, if necessary, ...


15

I saw such extensive rules already in several Blogs etc. and wondered why not simply use iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT together with the nf_conntrack_ftp module. This is more concise and readable, which is generally a good thing, especially with firewalls... FWIW,...


14

For SSH: tar czf - . | ssh remote "( cd /somewhere ; cat > file.tar.gz )" For SFTP: outfile=/tmp/test.tar.gz tar cvf $outfile . && echo "put $outfile" | sftp remote:/tmp/ Connecting to remote... Changing to: /tmp/ sftp> put /tmp/test.tar.gz Uploading /tmp/test.tar.gz to /tmp/test.tar.gz /tmp/test.tar.gz Another SFTP: outfile=/tmp/test.tar....


14

Non-chroot access If you don't have a FTP server setup, and you trust the user that will be logging in, not to go poking around your server too much, I'd be inclined to give them an account to SFTP into the system instead. The CentOS wiki maintains a simple howto titled: Simple SFTP setup that makes this pretty pain free. I say it's pain free because you ...


14

Your first command should work without whitespaces: curl -T "{file1.txt,file2.txt}" ftp://XXX/ -user YYY Also note the trailing "/" in the URLs above. This is curl's manual entry about option "-T": -T, --upload-file This transfers the specified local file to the remote URL. If there is no file part in the specified URL, Curl will append the local ...


13

There is most likely a NAT-firewall between you and the servers showing the symptom. (NAT-firewalls hide a whole network behind a single IP-number). The problem is that ftp wants to send the data resulting from the command in a new, separate TCP/IP connection and that cannot go through the firewall because it needs to go from the server to you, and you are ...


13

You might be looking for rcp, it performs remote execution via rsh so you will have to rely on that and have in mind that all communication are insecure.


12

You cannot disable encryption completely on ssh/scp but you can force it to use a weaker cipher that is much less cpu intensive. Make sure that compression is not turned on in your ssh_config or on the command line and add -c arcfour,blowfish-cbc to your scp command line to select weaker ciphers.


12

you can't exactly do it with a command line option, but what you can do is redirect stdin like so: $ ftp -n ftp.backupte4.rsyncbackup.info << EOF > quote USER bapte > quote PASS b2p7Ua2 > put somefile <-- this is the command you want to execute > quit > EOF or you can put it in a script: #!/bin/sh ftp -n ftp.backupte4.rsyncbackup....


11

I don't know if it is good practice to answer my own question but I found a simple solution that enables ftp login. I needed to add the line /usr/sbin/nologin to the file /etc/shells. Right after this modification the ftp server started to accept login from users to whom the shell is set /usr/sbin/nologin. So they cannot login through ssh but it works ...


11

The command ftp put /path/to/local_file doesn't work with vsftpd. Try the following: ftp put /path/to/local_file remote_file_name You may choose any name you wish for the remote_file_name, but you must specify one.


11

SFTP is not FTP. It's the sftp subsystem of ssh, it's handled by the sshd daemon, not vsftpd or any FTP server. It's on the ssh TCP port (22), not the FTP port 21 (well FTP commands are on 21 while data connections are on arbitrary ports, and those multiple connections in FTP are one of the many reasons why SFTP is so much better than FTP). ss -lp sport = :...


11

I found the answer as below. in passive mode we can run ls command but in active mode we have to manually disable passive mode by typing passive command then it will accept ls command otherwise it's gives 550 permission denied error . see below (pasv_enable=NO in vsftpd.conf) ftp> passive Passive mode on. ftp> ls 550 Permission denied. Passive mode ...


11

You can log sftp, try this: In /etc/ssh/sshd_config file, change this line: Subsystem sftp /usr/libexec/openssh/sftp-server to: Subsystem sftp /usr/libexec/openssh/sftp-server -l INFO -f AUTH Then config syslog log facility AUTH to your file. In Centos 6. edit /etc/rsyslog.conf, add this line: auth.* /var/log/sftp.log After making ...


10

Why it doesn't work When you attempt to change the modification time of a file with touch, or more generally with the underlying system call utime, there are two cases. You are attempting to set the file's modification time to a specific time. This requires that you are the owner of the file. (Technically speaking, the process's effective user ID must be ...


10

I think it depends more on the client that you're using. Take a look at the client, lftp. There's a good tutorial on using it here, titled: Unix: Flexibly moving files with lftp. If you look through the help for lftp you'll notice the command mv. $ lftp lftp :~> help !<shell-command> (commands) ...


9

Not with the ftp programs I've run into, as they expect a script on their standard input but a shebang would pass the script name on their command line. You can use a here document to pass a script to ftp through a shell wrapper. #!/bin/sh ftp <<EOF open 192.168.1.1 put *.gz EOF Lftp accepts a script name passed as an argument. #!/usr/bin/lftp -f ...


9

Usually, ftp command line clients support the configuration file ~/.netrc where you can configure credentials for remote systems, e.g.: machine legacy.system.example.org login juser password keins When you ftp legacy.system.example.org then you don't have to retype this information anymore. If you need to do more automation, you can script ftp via piping ...


9

FTP has quite a few commands. While the client maps some of these to a more userfriendly text interface. For example, if you use ftp -v (depending on your ftp client, the one I use needs ftp -vd), you'll notice something like the following (---> shows what is sent to the server): $ ftp -vd ftp.debian.org Connected to ftp.debian.org. 220 ftp.debian.org ...


9

I wrote this quick script: #!/bin/bash ssh "$1" "nc -l 2020 > \"$2\" &" pv "$2" | nc "$1" 2020 It takes two args, the host to send it to and the file you are sending. It only works for one file. It uses ssh to start a netcat listening on the opposite end and then uses netcat to send it to that listening port. I added pv to the start to give a nice ...


Only top voted, non community-wiki answers of a minimum length are eligible