Рядом с добавлением пользователя на машине Linux необходимо будет генерировать ключ (тип протокола 2, предпочтительно RSA) для того пользователя также. Можно найти инструкции для ключевого генератора Шпаклевки того использования здесь.
Выберите весь текст в поле 'Public key for pasting into authorized_keys file' в ключевом генераторе шпаклевки, вставьте его в текстовый редактор и сохраните его под именем authorized_keys
.
В корневом каталоге нового пользователя на машине Linux создайте a .ssh
каталог, если это не существует. Этот каталог должен принадлежать пользователю, и только что у пользователя должен быть доступ к нему (chmod 700 .ssh
) Скопируйте authorized_keys
файл к этому каталогу. Необходимо изменить полномочия того файла с chmod 0600
, и владение изменения пользователю.
Теперь пользователь должен смочь войти в систему.
Мне Ваша проблема могла быть быть связанной с проблемой разрешения, так как SSH просит у Вас вход в систему (таким образом, это не проблема порта), и пароль (так PasswordAuthentication
установлен на да, который является значением по умолчанию так или иначе).
Действительно, путь sshd
работы по умолчанию состоят в том, что это делает попытку читающей публики ключи SSH прежде, чем попросить пароль, и если Ваш ~/.ssh/authorized_keys
имеет неправильные полномочия, ну, в общем, в руководстве говорится это sshd
не позволит Вам входить в систему (см. ниже).
Без другой информации о Вашем sshd
конфигурация ( AuthorizedKeysFile
все еще прокомментированный; сделайте Вас, на самом деле используют ключи SSH; и т.д.), мое предположение было высказано путем чтения sshd
руководство:
~/.ssh/authorized_keys Lists the public keys (DSA/ECDSA/RSA) that can be used for logging in as this user. The format of this file is described above. The content of the file is not highly sensitive, but the recommended permissions are read/write for the user, and not accessible by others. If this file, the ~/.ssh directory, or the user's home directory are writable by other users, then the file could be modified or replaced by unauthorized users. In this case, sshd will not allow it to be used unless the StrictModes option has been set to “no”.
Так. Можете Вы ls -l ~/.ssh/autorized_keys
и перепроверка, что только пользователь может считать тот файл?
Для проверки никто, но пользователь не может прочитать этот каталог, использовать это: chmod -v a-w,u+w ~/.ssh/authorized_keys
. Опция -v
для chmod
для информирования Вас об изменениях, это сделало (если таковые имеются), a-w,u+w
должен удалить полномочия записи для всех и затем отдать пользовательские полномочия записи.
ищите любые соответствующие записи под /var/log/secure
или /var/log/auth.log
. Кроме того, удостоверьтесь, что Вам не добавили пользовательские правила под /etc/security/access.conf
который мог бы получить доступ к серверу для того пользователя.
Те журналы будут содержать информацию о неудавшихся логинах и могут указать ясно, что пошло не так, как надо.
/etc/security/access.conf
файл указывает (пользователь/группа, хост), (пользователь/группа, сеть/сетевая маска) или (пользователь/группа, tty) комбинации, для которых вход в систему или примут или откажут.
Вы тестировали adduser temipuser
вместо useradd temipuser
???
руководство Linux для сказанного sshd_conf:
AllowUsers
This keyword can be followed by a list of user name patterns, separated by
spaces. If specified, login is allowed only for user names that match one of the
patterns. Only user names are valid; a numerical user ID is not recognized. **By
default, login is allowed for all users.** If the pattern takes the form USER@HOST
then USER and HOST are separately checked, restricting logins to particular users
from particular hosts. The allow/deny directives are processed in the following
order: DenyUsers, AllowUsers, DenyGroups, and finally AllowGroups.
Таким образом, Вы не должны добавлять AllowUsers и если Вы добавляете эту опцию, я не думаю, что это предотвращает от удаленного корневого входа в систему при включении PermitRootLogin
Удалите все счетчики неудачных попыток входа в систему, сбросьте их с помощью следующей команды:
pam_tally2 --reset -u username
используйте эту команду, чтобы обнулить записи
cp /dev/null /var/log/lastlog
Проверьте файл конфигурации /etc/ssh/sshd _. Проверьте, установлено ли в строке «PasswordAuthentication» значение «нет». Измените это на «да» и сохраните файл. Вы должны сделать это как sudo. После сохранения файла перезапустите с помощью команды «sudo service ssh restart»
.Перед тем, как попробовать эти команды, вам либо нужно стать пользователем root, либо вам придется запускать команды с помощью sudo.
После каждого изменения в файле /etc/ssh/sshd _config необходимо перезапустить службу ssh. Команда:
systemctl restart sshd.service
Любого нового пользователя, с которым вы хотите выполнить вход по ssh с паролем, вам нужно добавить этого пользователя в AllowUsers с пробелом в качестве разделителя для каждого пользователя.
Eg:
AllowUsers root testUser
Чтобы пользователь root был активен при входе через ssh, необходимо отметить PermitRootLogin , его значение должно быть да в файле /etc/ssh/sshd _конфигурация
Например:проверьте приведенный ниже файл конфигурации sshd _. С этой конфигурацией вы также можете выполнить вход по ssh, используя testUser и пользователя root :
.# $OpenBSD: sshd_config,v 1.100 2016/08/15 12:32:04 naddy Exp $
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options override the
# default value.
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key
#HostKey /etc/ssh/ssh_host_ed25519_key
# Ciphers and keying
#RekeyLimit default none
# Logging
#SyslogFacility AUTH
#LogLevel INFO
# Authentication:
#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
#PubkeyAuthentication yes
# Expect.ssh/authorized_keys2 to be disregarded by default in future.
#AuthorizedKeysFile .ssh/authorized_keys.ssh/authorized_keys2
#AuthorizedPrincipalsFile none
#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes
# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no
# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no
# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no
# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
#GSSAPIStrictAcceptorCheck yes
#GSSAPIKeyExchange no
# 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
#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PermitTTY yes
PrintMotd no
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
#UsePrivilegeSeparation sandbox
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS no
#PidFile /var/run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none
# no default banner path
#Banner none
# Allow client to pass locale environment variables
AcceptEnv LANG LC_*
# override default of no subsystems
Subsystem sftp /usr/lib/openssh/sftp-server
# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# PermitTTY no
# ForceCommand cvs server
AllowUsers root testUser