Linux mint sftp server

ИТ База знаний

Курс по Asterisk

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Руководство по установке SFTP сервера на Linux

Привет, друг! Мы подготовили удобную инструкцию по установке и настройке SFTP-сервера Linux.

Бесплатный вводный урок на онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят начать карьеру администраторов Linux, расширить текущие знания и сделать уверенный щаг в DevOps

Что такое SFTP?

SFTP — это безопасный протокол передачи файлов — «Secure SHell» File Transfer Protocol. То есть это версия FTP, которая для безопасности поверх использует SSH. FTP делает то же самое, но без шифрования, поэтому использовать SFTP предпочтительнее.

Установка SFTP-сервера на Linux

Чтобы выполнить эти шаги, вам нужно иметь права sudo. SFTP прост в установке, но сначала необходимо установить OpenSSH со стороны сервера и SSH-пакет со стороны клиента.

Чтобы установить OpenSSH на сервер, используйте следующую команду:

Вам также понадобится SSH на компьютере, с которого вы хотите получать доступ к серверу SFTP.

Теперь все готово для настройки SFTP.

Этап 1: Создание групп, пользователей, каталогов

Для безопасного использования SFTP, лучше всего создать группы и пользователей, которые будут использовать только эту службу.

Создадим группу с названием sftpg, при помощи комыды groupadd :

Далее создадим пользователя seenisftp, и добавим его в группу.

В команде useradd параметр -g указывает группе, какого пользователя нужно добавить.

Предположим, что вы хотите использовать каталог /data/ в качестве корневого для sftp, а /data/USERNAME — для каждого пользователя. Поэтому, когда пользователи входят через sftp, они должны будут оказаться в каталоге /data/USERNAME . Также создадим ограничение при котором пользователи смогут читать файлы из этого каталога, но загружать их смогут только в каталог uploads .

Cоздадим каталоги и изменим их доступ:

Важно: убедитесь, что владелец /data/USERNAME и есть root, это обязательно для изменения корневого каталога в SFTP

Этап 2: Настройка sshd_config

Далее нужно настроить сервер так, чтобы когда пользователь, из группы sftpg, входил в систему, он попадал в sftp вместо обычной оболочки, в которую попадает через ssh. Добавьте следующий фрагмент кода в файл /etc/ssh/sshd_config :

ChrootDirectory позволяет создать необходимый каталог в качестве корневого узла ( / каталог) в дереве каталогов. Вошедший в систему пользователь не сможет увидеть ничего выше этого каталога и это не даст ему получить доступ к файлам других пользователей. %u — это escape код для заполнения его текущим именем пользователяm, во время входа в систему.

Этап 3: Перезагрузите службу

Чтобы выполнить внесенные в sshd_config изменения, перезапустите службу:

Доступ к SFTP через командную строку Linux

Заходите в SFTP также как в SSH:

Читайте также:  Запуск windows приложений на freebsd

Примеры команд SFTP

Синтаксис команд SFTP:

Параметрами могут быть либо локальные, либо удаленные системные пути.

  • GET — загрузка содержимого с удаленного сервера в локальную систему.
  • PUT — загрузка содержимого из локальной системы в удалённую.
  • RM – предназначен для удаления файлов в удалённой системе.

Бесплатный вводный урок на онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят начать карьеру администраторов Linux, расширить текущие знания и сделать уверенный щаг в DevOps

Полезно?

Почему?

😪 Мы тщательно прорабатываем каждый фидбек и отвечаем по итогам анализа. Напишите, пожалуйста, как мы сможем улучшить эту статью.

😍 Полезные IT – статьи от экспертов раз в неделю у вас в почте. Укажите свою дату рождения и мы не забудем поздравить вас.

Источник

Linux Mint Forums

Welcome to the Linux Mint forums!

Setting up openssh-server sftp server

Setting up openssh-server sftp server

Post by fimy » Sun Aug 18, 2013 4:14 am

Having some trouble configuring an sftp server using openssh-server. I can’t connect using Filezilla (my preferred ftp client), and when trying to connect via ssh, it behaves kind of strange. It prompts for my password, I enter the password correctly, and then it says Connection closed. In Filezilla, it does a similar thing. It seems to accept the password, then says Connection closed by server with exitcode 127. Below is the config in /etc/ssh/sshd_config:

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 127.0.0.1
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768

# Logging
SyslogFacility AUTH
LogLevel INFO

# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile %h/.ssh/authorized_keys

# Don’t read the user’s

/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don’t trust

/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes

# Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no

#MaxStartups 10:30:60
#Banner /etc/issue.net

# Allow client to pass locale environment variables
AcceptEnv LANG LC_*

Subsystem sftp /usr/libexec/openssh/sftp-server
AllowUsers user1 user2

# Set this to ‘yes’ to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of «PermitRootLogin without-password».
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to ‘no’.
UsePAM yes

Any help would be much appreciated. Thanks!

Источник

Guide for Setting up SFTP Server in Linux

What is SFTP?

SFTP stands for SSH File Transfer Protocol. You guessed it correct. It is version of FTP that uses SSH on top. It allows users to upload and download files to and from a Linux server through an encrypted connection. FTP does the same without encryption and this is why SFTP is preferred over FTP these days.

Let’s see how you can set up a SFTP server on a Linux system.

Setting up SFTP Server on Linux

I have used Ubuntu in this tutorial. The installation commands are specific to Ubuntu and Debian but the rest of the steps can be followed in any other Linux distribution.

Читайте также:  Как чистить принтер canon mp250

To perform the steps, you need have sudoer rights. So if you don’t sudo rights, contact your system administrator. If you are the one, please read about creating sudo user in Ubuntu.

Setting up SFTP is very easy. Before going to that, you need to have OpenSSH installed in the server side and SSH package in the client side.

I have discussed setting up SSH on Ubuntu in detail in a separate article, I’ll just mention the important steps here.

To install OpenSSH in server, you can use the following command:

You also need SSH on the system from where you are going to access the SFTP server.

After this is done, you will have everything ready to setup SFTP. It’s done in three steps and I am going to show it to you one-by-one.

Step 1: Create Groups, Users, Directories

To use SFTP (or any other service in general) safely, it is best to create groups and users to use that service and only that service. “It is best to give one specific right to one specific entity”.

In case if you want to give SFTP access and also normal system access, create users such that it is easy to identify them according to service. For example, if seeni is used for normal system access then seenisftp can be used for SFTP access. Using this method will be easier on the administration side.

Let’s create a group named “sftpg” using groupadd command:

Let’s create a user named “seenisftp” and add him to the above group and give him a password.

In the useradd command, -g option tells the group to which user should be added. You can list all the users in Linux and verify that the new user is has added.

Let’s assume you want to use the directory /data/ as your root for sftp and /data/USERNAME for each user. So when users login through sftp, they should be in /data/USERNAME as their default directory (Just like you are in /home/USERNAME directory when you login into the Linux system through SSH). Also, assume a constraint that they can read files from that directory but can upload only to uploads directory.

Let’s create the directories and change their access and ownership as follows (read about file permissions in Linux to know more about it).

One thing that might confuse is giving ownership of the user’s directory to the root itself. This is mandatory for chrooting in SFTP. So make sure that owner of the /data/USERNAME is root.

As of now, we have user named seenisftp with group sftpg and with access permissions set for /data/seenisftp.

Step 2: Configure sshd_config

Next is you need to configure ssh server so that whenever user belonging to sftpg group logs in, he/she gets into sftp instead of the normal shell you get through ssh. Append the following snippet to /etc/ssh/sshd_config if not already present.

In the above snippet, ChrootDirectory allows the specified directory to be made as the root (“/” directory ) node in the directory tree. The logged in user cannot see anything above that directory. So it will stop the current user from accessing other user’s files through sftp. %u is the escape code for filling it with the current username at the time of login. When seenisftp logins through sftp, he will be in /data/seenisftp as his root directory. He will not be able to see anything above it.

Читайте также:  Заправка картриджей черного цвета

Step 3: Restart the service

To make changes we made to sshd_config live, restart the service as follows.

Accessing SFTP via Linux command line

You can login into SFTP as you normally would do with SSH.

Sample SFTP commands

SFTP commands are usually of the following format.

For any command, arguments may be either local system paths or remote system paths. There is no specific visible distinction between them. You can specify the path as normal after considering the whether the argument is local or remote.

GET – download contents from remote server to the local system. Below command downloads remote file poster.img to the local system’s

PUT – Upload contents form the local system to the remote system. Below command uploads the

/Pictures/poster2.jpg into my uploads directory.

RM – To remove the files in the remote system. This is very similar to rm command. You can see that from below command which deletes an image at uploads/poster3.jpg

Above commands are very basic and are sufficient enough to explore the FTP/SFTP server. If you want to know more, either use help command or use this resource.

I hope this article helped you in setting up SFTP server on Linux.

Tell us in comments about what is your SFTP file system setup. Is it like mentioned in this article or a pooled directory or anything else?

If you found this article useful, share it with your friends. If you have suggestions, feel free to drop them below.

Источник

Tux Tweaks

Linux Tweaks, HowTo’s and Reviews

Install SSH and SFTP on Ubuntu or Linux Mint

If you’ve been using Linux or Unix for a long time, then you’re probably familiar remote technologies like rlogin, FTP, and Telnet. These are all wonderful technologies for using a computer remotely, but they are notoriously insecure due to your login credentials being transmitted over the Internet in plain text format.

SSH, which stands for Secure Shell, is a more secure replacement for rlogin and Telnet. Similarly, SFTP stands for Secure File Transfer Protocol. As the name implies, it’s a more secure version of FTP.

Installing OpenSSH

OpenSSH was developed by the OpenBSD project and provides both SSH and SFTP server components. Binary packages are available in the repositories for Ubuntu and Linux Mint. In either of these distros, you can install it with:

That’s all it takes to install it on your system.

Using SSH

You should now be able to log in to your system remotely by using the ssh command followed by the IP address. For example, if your remote computer’s IP address is 192.168.2.1, you can log into it with:

If you’d like to log in with a different user name than the one on your local machine, for example linerd, use:

Note that the switch is a lowercase L, (short for login name).

Using SFTP

The basic usage of SFTP is similar to SSH. To access your remote computer with SFTP use the sftp command followed by your remote IP address. So if your remote machine’s address is 192.168.2.1, use

If your remote user name is different from your local user name you can use a slightly modified version of the command. As an example, if your remote user name is linerd, you would use it like this:

Once you’ve accessed your remote machine through SFTP, the commands are similar to regular FTP.

More information

You can get information about both SSH and SFTP from the manual pages after you install the package.

Источник

Поделиться с друзьями
КомпСовет
Adblock
detector