openwrt更换openssh后无法ssh登陆root的解决方法

openwrt默认是使用dropbear,虽然轻量,但是使用起来会带来一些麻烦。 你可以通过修改dropbear端口再安装openssh 或者 在编译固件的时候直接编译进去。

但是你会发root登陆,不上。如果 dropbear 还可以登陆 或者有显示器,那么修改/etc/ssh/sshd_config 后重启ssh即可。

如果只有网页可以登陆。 那么打开 启动脚本:http://10.1.1.1/cgi-bin/luci/admin/system/startup

在exit 0 前面 输入 几行

1
2
3
/bin/cp -n /etc/ssh/sshd_config  /etc/ssh/sshd_config-bak
sed -i 's/#PermitRootLogin without-password/PermitRootLogin yes/g' /etc/ssh/sshd_config
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/g' /etc/ssh/sshd_config

有的版本是 without-password 有的版本是 prohibit-password,所以添加两行。 然后重启路由器即可 用root密码登陆。

或者 干脆直接写入key 也是在 exit 0 前面

1
2
3
4
5
mkdir  -p /root/.ssh/
cat > /root/.ssh/authorized_keys << \EOF
...你的key内容...
EOF
chmod -R 600 ~/.ssh/authorized_keys 
Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计