为什么我不能使用我的域名进行 ssh 但可以使用 ip 地址?

为什么我不能使用我的域名进行 ssh 但可以使用 ip 地址?

所以我有一台计算机,我正试图在家里将其设置为服务器。我在其上安装了 ssh 服务器,并在我的笔记本电脑上运行 ssh 客户端。ssh 运行正常,我使用公钥来确保安全,并且已禁用密码。

我没有静态 IP 地址,所以我获得了一个域名,下面将其称为 domain.online,我通过 namecheap 获得。我在家庭服务器上运行 ubuntu 服务器,在笔记本电脑上运行 ubuntu。我有根据 namecheap 上的文档配置 ddclient关于 DynamicDNS 的官方 ubuntu 文档

我与 namecheap 的代表进行了交谈,他们确认我已经正确设置了名称服务器。但是当我尝试通过 ssh 进入服务器时;

ssh [email protected]

我得到了一个;

connect to host domain.online port 22: connection refused

我已经在路由器上启用了端口转发。我目前正在远程 ssh 进入服务器,因此端口转发正在运行。(我打电话给我的妻子,让她在 whatsmyip 上查找 ip 地址)。

联邦水务局被禁用。

以下是我的 ddclient.conf 文件;

es# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf



#pid=/var/run/ddclient.pid
#use=if, if=enp2s0f0
use=web, web=dynamicdns.park-your-domain.com/getip
protocol=namecheap
#ssl=yes
server=dynamicdns.park-your-domain.com
login=domain.online
password=################
www

以下内容来自我的 sshd_config 文件;

#   $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 prohibit-password
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

PubkeyAuthentication yes
RSAAuthentication 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 no
#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

我不知道该文件是否有必要,但我想有人会要求它

所以,我的问题是,为什么当我输入

ssh [email protected]

我明白了连接被拒绝错误,但是当我

ssh [email protected]

我成功连接到我的服务器。

此外,结果sudo service ddclient status是:

    ddclient.service - LSB: Update dynamic domain name service entries
   Loaded: loaded (/etc/init.d/ddclient; generated; vendor preset: enabled)
   Active: active (running) since Tue 2017-06-27 14:21:21 EDT; 23h ago
     Docs: man:systemd-sysv-generator(8)
    Tasks: 1 (limit: 4915)
   Memory: 8.7M
      CPU: 5.581s
   CGroup: /system.slice/ddclient.service
           └─7217 ddclient - sleeping for 10 seconds

Jun 27 14:21:20 computer-name systemd[1]: Starting LSB: Update dynamic domai
Jun 27 14:21:21 computer-name systemd[1]: Started LSB: Update dynamic domain
lines 1-12/12 (END)

答案1

尝试dig +short "your_domain" @8.8.8.8在 google 公共 RNS 上执行 DNS 查找。如果返回了您的真实 IP 地址,则您就会知道问题不在于域名解析。

相关内容