Я настраиваю какой-то сервер, но у меня возникла проблема с одним сервером.
Я устанавливаю локальный DNS-сервер, и когда я пытаюсь подключиться к этому серверу с ssh alpha@alpha.stvns.com, я получаю: Permission denied (publickey, keyboard-interactive).
Но когда я обращаюсь к нему как alpha@192.168.1.2, он отлично работает с Pubkey Auth. Странная часть - когда я подключаюсь к серверу git.stvns.com => имя хоста, управляемое сервером DNS, он будет нормально подключаться при использовании имени хоста.
Я использую ubuntu 10.04 amd64 в качестве основы для всего сервера, на самом деле это идентичные изображения, которые я сделал снимок из минимальной настройки, поэтому не могу винить ОС.
Я сравнил свои файлы sshd_config, но они почти идентичны, только место authorized_keys отличается, не могу винить это за возникновение проблем.
Локально я удалил свои known_hosts, связанные с DNS-сервером, и попытался снова безуспешно.
Это копия моего файла sshd_config, возможно, кто-то обнаружит ошибку:
Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
UsePrivilegeSeparation yes
LoginGraceTime 20
PermitRootLogin no
RSAAuthentication yes
RhostsRSAAuthentication yes
HostBasedAuthentication no
PubkeyAuthentication yes
AuthorizedKeysFile /etc/ssh/authorized_keys
PermitEmptyPasswords no
PasswordAuthentication no
StrictModes no
ClientAliveInterval 60
ClientAliveCountMax 0
# Host Specific !!!!!
ListenAddress 192.168.1.61
# List of allowed users
AllowUsers alpha
# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768
# Logging
SyslogFacility AUTH
LogLevel INFO
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no
# Allow client to pass locale environment variables
AcceptEnv LANG LC_*
Кто-нибудь встречал такую же проблему? Или есть какой-нибудь совет?
Заранее большое спасибо!
бегать
пинг git.stvns.com
Вы видите 192.168.1.2 ip?
Я думаю, у вас нет проблем с ssh, у вас проблема с dns.
Какой днс сервер вы используете? (cat /etc/resolv.conf)
@Niels, проблема в том, что имя хоста на поле отличается, а запись DNS, которую мы имеем или пытаемся использовать по ssh, отличается.
Рассмотрим пример:
root@gw:~# cat /etc/hostname
gw.analytics.example.net
следующее продолжает терпеть неудачу, потому что в протоколе ssh оба получили проверенный сервер аутентификации клиента и наоборот.
git:master=⚡ ssh gw.analytics.example.io -l root -i ~/.ssh/id_rsa.pub
ssh: Could not resolve hostname gw.analytics.example.io: nodename nor servname provided, or not known
Хотя у меня есть правильная запись DNS и я могу разрешить их вручную.
git:master=⚡ dig gw.analytics.example.io
; <<>> DiG 9.9.7-P3 <<>> gw.analytics.example.io
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56491
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;gw.analytics.example.io. IN A
;; ANSWER SECTION:
gw.analytics.example.io. 263 IN A 10.17.71.2
;; Query time: 2 msec
;; SERVER: 192.168.254.1#53(192.168.254.1)
;; WHEN: Mon Oct 02 10:47:04 +08 2017
;; MSG SIZE rcvd: 69
Итак, я изменил имя хоста коробки в соответствии с DNS-именем, которое я пытаюсь использовать ssh. Он работает нормально.
root@gw:~# cat /etc/hostname
gw.analytics.example.io
и я могу войти
git:master=⚡ ssh gw.analytics.example.io -l root -i ~/.ssh/id_rsa.pub
root@gw:~# hostname
gw.analytics.example.io
root@gw:~# uptime
03:13:59 up 46 min, 2 users, load average: 0.39, 0.49, 0.35
root@gw:~#