我正在尝试通过 ssh 访问我的路由器。目前我只有 telnet 访问权限,我安装了 dropbear 并且正在运行(在连接到路由器的 USB 驱动器上使用 opkg)。
从一开始,我所做的是生成一个私钥并将其解密(因为 dropbear 尚不支持此功能)和公共密钥:
cd .ssh
openssl genrsa -des3 -out id_rsa
openssl rsa -in id_rsa -out id_rsa
ssh-keygen -y -f id_rsa > authorized_keys
Run Code Online (Sandbox Code Playgroud)
我将公钥 ( authorized_keys)上传到/root/.ssh. 我将文件放在 Apache 服务器上(在我的本地计算机中)并使用 wget 将其下载到路由器上(因此下载的文件以所有者/组的身份获取),然后将权限更改为 0600(与客户端相同,但与我的用户)。
当我尝试访问时,它给了我一个“权限被拒绝(公钥)”错误:
$ ssh -v -i ~/.ssh/id_rsa root@192.168.1.1
OpenSSH_7.4p1, OpenSSL 1.0.2j 26 Sep 2016
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to 192.168.1.1 [192.168.1.1] port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: …Run Code Online (Sandbox Code Playgroud)