我正在设置一些服务器,但是遇到了一个服务器的问题。
我设置了一个本地 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:~#