无法通过 ssh 登录

无法通过 ssh 登录

我在 Linux 服务器上创建了用户帐户,然后禁用了密码登录。我将 ssh 配置为不接受密码登录,只接受 ssh。我配置了 ufw 防火墙,但忘记允许 ssh 端口。所以现在我无法登录,因为不接受传入连接,我可以做些什么来重置它吗?运行的操作系统是 Ubuntu 14.04 LTS 版本,它在 VirtualBox 虚拟机内运行。

答案1

恢复类似于丢失 root 密码(并且可能是最简单的)。

  1. 使用 virtual box 连接到虚拟机的控制台。

  2. A。如果您可以从那里登录,请以用户身份登录,然后使用 sudo root,然后编辑 sshd(和防火墙规则)并重新启动。

    b.如果您无法登录,无论是root还是用户,请重新启动主机,启动时选择内核(使用箭头),编辑(使用e),然后添加init=/bin/bash到内核行。

  3. 重新安装//usr然后编辑sshd_config

    mount -o remount,rw /
    mount /usr
    
    vi /etc/ssh/sshd_config
    vi /etc/passwd # see bellow
    vi /fire/wall/rules # (sic)
    
    reboot
    

丢失 root 密码?

执行步骤 3 后,恢复丢失的 root 密码。

  • passwd root
  • vi /etc/shadow,编辑行,例如root:$6:salt$crypted:... 删除$6$...最多但不包括:(这将允许无密码登录)。

答案2

尝试

$ sudo ufw allow ssh/tcp
$ sudo ufw logging on
$ sudo ufw enable
$ sudo ufw status

如果这没有帮助去/etc/hosts.allow添加sshd: ALLOW: ALL并重新启动 sshd,请在重新启动 sshd 之前禁用防火墙

相关内容