ssh 无法使用主机名连接

ssh 无法使用主机名连接

我正在设置一些服务器,但是遇到了一个服务器的问题。

我设置了一个本地 DNS 服务器,当我尝试使用 ssh 连接到该服务器时[电子邮件保护]我会得到:权限被拒绝(公钥,键盘交互)。

但是当我像这样访问它时[电子邮件保护]它与 Pubkey Auth 配合良好。奇怪的是,当我连接到服务器 git.stvns.com => 由 dns 服务器管理的主机名时,使用该主机名可以正常连接。

我使用 ubuntu 10.04 amd64 作为所有服务器的基础,它们实际上是相同的图像,我从最低限度的设置中拍摄了快照,所以不能责怪操作系统。

我比较了我的 sshd_config 文件,但是它们几乎完全相同,只有 authorized_keys 的位置不同,不能责怪它导致问题。

我在本地删除了与 DNS 服务器相关的 known_hosts 并再次尝试,但没有成功。

这是我的 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_*

有人遇到过同样的问题吗?或者有什么建议吗?

提前谢谢您!

答案1

跑步

ping git.stvns.com

你看到 192.168.1.2 ip 了吗?

我认为你的 ssh 没有问题,你的 dns 有问题。

您使用什么 DNS 服务器? (cat /etc/resolv.conf )

答案2

@Niels 问题是盒子上的主机名不同,并且我们拥有的或尝试 ssh 的 DNS 条目也不同。

考虑以下示例:

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

因此,我根据尝试 ssh 的 DNS 名称更改了盒子的主机名。它工作正常。

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:~#

相关内容