侧边栏壁纸
  • 累计撰写 46 篇文章
  • 累计创建 23 个标签
  • 累计收到 3 条评论

目 录CONTENT

文章目录

解决Openwrt下因为dropbear ssh不支持常规密钥文件的问题

elthon
2021-12-15 / 0 评论 / 1 点赞 / 815 阅读 / 1421 字

问题

在Openwrt中,如果我们执行ssh,带上私钥文件的时候,可能会出现如下错误

root@OpenWrt:/opt/myhome# scp -i secret_rsa_file 1215.json [email protected]:/usr/sha
re/nginx/html/xxxx.json

/usr/bin/dbclient: Exited: String too long

解决

这个问题是因为在openwrt中使用的是dropbear client

root@OpenWrt:/opt/myhome# ssh
Dropbear SSH client v2019.78 https://matt.ucc.asn.au/dropbear/dropbear.html
Usage: ssh [options] [user@]host[/port] [command]

这个客户端,只认dropbear格式的私钥,所以如果我们是从自己的服务器或者笔记本上拷贝过来的私钥,因为格式不一样,就会导致前面的问题。
解决办法也很简单,我们用dropbear提供的工具生成dropbear格式的私钥文件就可以了。

dropbearkey -f id_rsa -t rsa
#-f 指定生成的文件名, -t指定加密类型

执行完这个命令后,会打印出来对应的公钥信息。

root@OpenWrt:/opt/myhome# dropbearkey -f id_rsa -t rsa
Generating 2048 bit rsa key, this may take a while...
Public key portion is:
ssh-rsa AAAAB3NzaC1yxxxxxAABAQCo1Xx8c/Uam2bxxxxcRUaHJiUYfaW0jRC2qThvYau7o2m16qE9uWwWNU5F4rRtvWRc46x+HdVPK4L4vFuvNKrBv/NTKGJ24hgv9W0kBGHbpFbWxxxxxxxxuOWZG1/NC4FYx09TJXPxxxxxxYVybTh/J0cfUVXD3R3xYuMqQRjyCblIYjyx+tmFg+owcpOXLQUWagxGYFu0lUnhYkDnD+ZhXcW1GcnHf+xxxxxxJdoBsl5mxrKsoDxxxx6RKbv8zRjYt/hWTgvQez7arB root@OpenWrt
Fingerprint: sha1!! e9:8c:73:xx:kd:bc:10:88:09:78:c1:06:99

将公钥信息拷贝到目标服务器上中 authorized_keys 文件中,然后就可以使用scp到命令直接使用私钥来传文件了。

1

评论区