OpenWRT 默认 ssh 组件使用 Dropbear,但不带 SFTP,当然你也可以后续再安装,又或者直接使用 openssh 替代 dropbear,像我这样折腾。
编译配置
进入您的编译目录,执行 make menuconfig 进入配置界面
取消 Dropbear
路径:Base System 里面取消勾选 Dropbear

编译 OpenSSH
路径 Network -> SSH 如图勾选

最后记得保存,随后编译安装即可!
SSH 登录配置
直接编译安装的 OpenSSH 默认不支持密码登录,所以你无论怎样也连不上,是不是发现被坑了?哈哈,皮一下,毕竟这个坑我给大家趟过了,这里提供两种方法。
1、密钥登录
在编译之前,提前写入固件自己登录设备的公钥,具体操作:
进入编译目录,再进入路径:/package/base-files/files/,随后建立一个二级目录 root/.ssh/,所以完整的路径为:编译目录/package/base-files/files/root/.ssh
新建一个文件 authorized_keys,写入自己电脑公钥即可,编译刷入固件之后,则无需密码直接登录。
2、利用 luci 开启密码登录
如果已经安装 luci,并且设置了密码,那么适合本方法,具体操作:
登录 luci 后台,依次找到 System -> Starup -> Locale Startup,会看到一个脚本编辑页面,在最后一行内容 exit 0 之前写入以下内容:
sed -i “s/#PasswordAuthentication yes/PasswordAuthentication yes/g” /etc/ssh/sshd_config
sed -i “s/#PermitRootLogin prohibit-password/PermitRootLogin yes/g” /etc/ssh/sshd_config
随后后台 System -> Reboot 点击重启,重启之后会发现已经可以直接使用密码登录,随后上面的增加的脚本内容则可以去掉啦。
可能的错误
以上都是基于 Openwrt 官方源码编译的操作流程,如果您基于 lede 的源码,那么编译之后可能会出现这个错误:
无论怎么改密码亦或者使用密钥,均无法正常登陆,在 luci 后台系统日志里面出现以下错误日志:fatal: privsep_preauth: preauth child terminated by signal 31
那你可以参考一下这个解决方法,至于这个为什么会出现这个问题,暂时未知。
© 版权声明
1. 本站所提供的源码模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: 1311978956@qq.com),我们会及时删除,给您带来的不便,我们深表歉意!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有佣金分成!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.77ym.top",如遇到无法解压的请联系管理员!
7. 本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有佣金分成!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.77ym.top",如遇到无法解压的请联系管理员!
7. 本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
THE END
暂无评论内容