How Can I Use SFTP to Transfer Files Between a Local Linux Computer and a Linux ECS?
This section uses CentOS as an example to describe how to configure and use SFTP to transfer files or folders.
- Log in to the ECS as user root.
- Run the following command to check the OpenSSH version, which is expected to be 4.8p1 or later:
Information similar to the following is displayed:
# OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
- Create a user group and a user (for example, user1).
useradd -g sftp -s /sbin/nologin user1
- Set a password for the user.Figure 1 Setting a password
- Assign permissions to directories.
chmod 755 -R /home/user1
chown -R user1:sftp /home/user1/upload
chmod -R 755 /home/user1/upload
- Run the following command to edit the sshd_config configuration file:
vim /etc/ssh/sshd_configComment out the following information:
#Subsystem sftp /usr/libexec/openssh/sftp-server
Add the following information:
Subsystem sftp internal-sftp Match Group sftp ChrootDirectory /home/%u ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding noFigure 2 sshd_config file with the added information
- Run the following command to restart the ECS:
service sshd restart
Alternatively, run the following command to restart sshd:
systemctl restart sshd
- Run the following command on the local computer to set up the connection:
- Run the sftp command to check the connection.
- Transfer files or folders.
To download files or folders, run the get -r command.