--- 最新编辑 -----------------------------------
感谢所有帮助过我的人,但我仍然陷入困境。我现在很绝望。除了 sshd 之外,还有其他进程需要重新启动吗?我不知道该往哪个方向走?还有其他想法吗?
几个月来,我设法用 ssh 顺利连接,但每次都必须输入密码。我现在忘记了 ssh 和 keygen 的初始设置进展到了什么程度。
无论如何,昨天我尝试正确安装密钥并按照安装说明找到在本页。
我必须说我没有做与防火墙相关的步骤。完成此命令后:
/etc/init.d/ssh reload
从那时起,我就无法通过密钥或密码方式登录。幸运的是,我仍打开了一个 ssh 终端会话,因此我仍然可以对其进行修改,但无法修复它。今天早上互联网连接中断,因此该会话已消失。以下是我运行“ssh -p 30000 -v”时得到的结果[电子邮件保护]‘
OpenSSH_5.1p1, OpenSSL 0.9.7l 28 Sep 2006
debug1: Reading configuration data /Users/swamiatma/.ssh/config
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to ohlalaweb.com [173.45.225.154] port 30000.
debug1: Connection established.
debug1: identity file /Users/swamiatma/.ssh/identity type -1
debug1: identity file /Users/swamiatma/.ssh/id_rsa type 1
debug1: identity file /Users/swamiatma/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_4.7p1 Debian-8ubuntu1.2
debug1: match: OpenSSH_4.7p1 Debian-8ubuntu1.2 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.1
debug1: SSH2_MSG_KEXINIT sent
Connection closed by 173.45.225.154
幸好 Slicehost 通过其管理面板提供了一个控制台,我可以通过它登录。请帮忙。首先,我该如何登录:启用 telnet、ssh 密码登录等?
能回答那个紧急情况就太好了。接下来我想再经历一次通过私钥/公钥登录的过程。我想我首先需要对这个过程有更多的了解。
编辑:这是我从 auth.log 收到的消息
Aug 7 10:14:39 ohlala sudo: pam_unix(sudo:session): session closed for user root
Aug 7 10:15:24 ohlala sshd[20217]: error: Could not load host key: /etc/ssh/ssh_host_rsa_key
Aug 7 10:15:24 ohlala sshd[20217]: error: Could not load host key: /etc/ssh/ssh_host_dsa_key
Aug 7 10:15:24 ohlala sshd[20218]: fatal: No supported key exchange algorithms
我不知道我能做什么。
编辑2:按照rkthkr的建议,我重新生成了服务器密钥,这是我收到的新错误消息。
Aug 7 12:07:50 ohlala sudo: pam_unix(sudo:session): session opened for user root by deploy(uid=0)
Aug 7 12:07:50 ohlala sudo: pam_unix(sudo:session): session closed for user root
Aug 7 12:08:51 ohlala sshd[20362]: error: Could not load host key: /etc/ssh/ssh_host_rsa_key
Aug 7 12:08:51 ohlala sshd[20362]: error: Could not load host key: /etc/ssh/ssh_host_dsa_key
Aug 7 12:08:51 ohlala sshd[20363]: fatal: No supported key exchange algorithms
Aug 7 12:09:15 ohlala sudo: deploy : TTY=tty1 ; PWD=/home/deploy ; USER=root ; COMMAND=/usr/bin/tail -f /var/log/auth
.log -n 25
Aug 7 12:09:15 ohlala sudo: pam_unix(sudo:session): session opened for user root by deploy(uid=0)
Aug 7 12:09:15 ohlala sudo: pam_unix(sudo:session): session closed for user root
答案1
看起来你的服务器密钥丢失/权限错误/损坏:
线索:
error: Could not load host key: /etc/ssh/ssh_host_rsa_key
error: Could not load host key: /etc/ssh/ssh_host_dsa_key
权限应由“root:root”和 chmod 0600 拥有
要生成这些密钥:
ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N '' -t rsa
ssh-keygen -f /etc/ssh/ssh_host_dsa_key -N '' -t dsa
答案2
您是否仔细检查过您的 sshd_config?
Port 30000
Protocol 2
PermitRootLogin no
PasswordAuthentication no
X11Forwarding no
UsePAM no
UseDNS no
AllowUsers demo <- Check this
查看您的输出和slicedhost设置,我认为您的AllowUsers设置不正确,因为您似乎立即被服务器拒绝。
如果您可以通过控制台执行此操作,也许可以删除 AllowUsers 行(如果我没记错的话,这将允许所有用户再次通过 SSH 登录)并将 PasswordAuthentication 重新设置为是以解决眼前的问题。
答案3
自从您重新生成密钥后,您是否检查过新密钥是否具有正确的权限?如果文件的权限不正确,sshd 可以(并且通常会)认为文件不可用。
-rw------- 1 root root 668 /etc/ssh/ssh_host_dsa_key
-rw-r--r-- 1 root root 601 /etc/ssh/ssh_host_dsa_key.pub
-rw------- 1 root root 531 /etc/ssh/ssh_host_key
-rw-r--r-- 1 root root 335 /etc/ssh/ssh_host_key.pub
-rw------- 1 root root 883 /etc/ssh/ssh_host_rsa_key
-rw-r--r-- 1 root root 221 /etc/ssh/ssh_host_rsa_key.pub
答案4
嗯不应该。。
/etc/init.d/ssh 重新加载
是 ..
sudo /etc/init.d/ssh reload
?
否则你会得到..
错误:无法加载主机密钥:/etc/ssh/ssh_host_rsa_key
错误:无法加载主机密钥:/etc/ssh/ssh_host_dsa_key
!