我在 Linux 服务器上创建了用户帐户,然后禁用了密码登录。我将 ssh 配置为不接受密码登录,只接受 ssh。我配置了 ufw 防火墙,但忘记允许 ssh 端口。所以现在我无法登录,因为不接受传入连接,我可以做些什么来重置它吗?运行的操作系统是 Ubuntu 14.04 LTS 版本,它在 VirtualBox 虚拟机内运行。
答案1
恢复类似于丢失 root 密码(并且可能是最简单的)。
使用 virtual box 连接到虚拟机的控制台。
A。如果您可以从那里登录,请以用户身份登录,然后使用 sudo root,然后编辑 sshd(和防火墙规则)并重新启动。
b.如果您无法登录,无论是root还是用户,请重新启动主机,启动时选择内核(使用箭头),编辑(使用e),然后添加
init=/bin/bash
到内核行。重新安装
/
,/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 之前禁用防火墙