Я установил новый сервер proftpd с mod_sftp для поддержки SSH, на который я могу войти, если использую пароль. Но когда я пытаюсь использовать свой SSH-ключ, я не могу подключиться.
Вот полный файл proftpd.conf:
[root@myers log]# cat /usr/etc/proftpd.conf
ServerName "Develop CENTS"
ServerType standalone
DefaultServer on
Port 2215
UseIPv6 off
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022
MaxInstances 15
User nobody
Group nobody
DefaultRoot ~
AllowOverwrite on
# Bar use of SITE CHMOD by default
<Limit SITE_CHMOD>
DenyAll
</Limit>
<IfModule mod_auth_pam.c>
AuthPAM off
</IfModule>
<IfModule mod_sftp.c>
SFTPEngine on
SFTPHostKey /usr/etc/proftpd/rsa_key
SFTPHostKey /usr/etc/proftpd/dsa_key
Port 2216
SFTPAuthMethods publickey
MaxLoginAttempts 4
SFTPCompression delayed
<VirtualHost www.mydomain.com>
SFTPAuthorizedUserKeys file:/home/mydomain.com/.ssh/authorized_keys
DefaultRoot ~
</VirtualHost>
</IfModule>
Вот строка, которую я вижу в / var / log / messages независимо от используемого метода аутентификации:
Mar 19 10:41:51 myers proftpd[29675]: myhost.com - unable to create namebind for 'www.mydomain.com' to IPAddress#21: No such file or directory
Помимо этого, единственное, что появляется в файле журнала, когда я пытаюсь подключиться с помощью ключа SSH, - это то, что клиент действительно достигает сервера и открывается сеанс SSH2, но самая следующая строка указывает, что сеанс SSH2 закрыт.
Любые идеи?
Mar 19 10:41:51 myers proftpd[29675]: myhost.com - unable to create namebind for 'www.mydomain.com' to IPAddress#21: No such file or directory
Это просто косметическое предупреждение. Как я понял вы используете proftpd-1.3.5.
В рамках заключительной работы над 1.3.5 я начал добавлять некоторые основы для поддержки команды HOST (RFC 7151), которая обеспечит поддержку виртуального хостинга на основе истинного имени FTP. Этот добавленный код - это то, на что здесь жалуются (ошибочно). Я исправил этот код, который ошибочно регистрировал это сообщение журнала уровня NOTICE, в главной ветке на GitHub. Я также буду обновлять ветку 1.3.5, чтобы это сообщение не регистрировалось так шумно, для следующего релиза maint (который должен быть уже довольно скоро).
Вы можете найти больше на - http://sourceforge.net/p/proftp/mailman/proftp-user/thread/alpine.DEB.2.00.1503301702090.3566%40familiar.castaglia.org/#msg33678099
Судя по вашей конфигурации, похоже, что вам нужен обычный FTP-сервер на порту 2215 и SFTP-сервер на порту 2216. Для этого вам понадобится mod_sftp
конфигурация в собственном <VirtualHost>
раздел. В вашей конфигурации оба Port
директивы появляются в одном и том же контексте "vhost", и поэтому ProFTPD при синтаксическом анализе конфигурации может не делать то, что вы ожидаете. Я бы рекомендовал использовать что-то вроде:
# ... previous config ...
<IfModule mod_auth_pam.c>
AuthPAM off
</IfModule>
<IfModule mod_sftp.c>
# Here we give mod_sftp its own explicit vhost, and put all of
# of the mod_sftp configuration within that <VirtualHost> section.
<VirtualHost www.mydomain.com>
Port 2216
SFTPEngine on
SFTPHostKey /usr/etc/proftpd/rsa_key
SFTPHostKey /usr/etc/proftpd/dsa_key
SFTPAuthMethods publickey
MaxLoginAttempts 4
SFTPCompression delayed
SFTPAuthorizedUserKeys file:/home/mydomain.com/.ssh/authorized_keys
DefaultRoot ~
</VirtualHost>
</IfModule>
Надеюсь это поможет!