Openwrt实现免密码ssh登录服务器,免密码拷贝文件

本文介绍如何使用Dropbear通过生成公钥实现路由器与服务器之间的免密码文件传输。包括生成私钥、获取公钥及配置服务器等步骤。

在实际使用中经常遇到要讲路由器的文件拷贝到服务器上,但是必须输入服务器密码,若经常操作或者想使用脚本自动拷贝就遇到了麻烦,因此本文讲解如何做到免密码,即使用公钥向服务器拷贝文件或者从服务器下载文件

  1. 本文介绍的软件为dropbear由于Openwrt里安装该软件十分方便,在此默认该软件已经安装完成
  2. 执行dropbearkey -t rsa -f /etc/dropbear/my_secret_key来生成私钥,其中-t参数为生成的私钥类型,-f 参数为生成的私钥路径,执行完后结果如下

    root@Router:/etc/dropbear# dropbearkey -t rsa -f /etc/dropbear/my_secret_key
    Generating key, this may take a while...
    Public key portion is:
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABCCCCBAQCWrgqNoehW1HKqps3S6YPnT9LXL8ZP5aMQ3Im2wnZ/wxWMhAIA4FdXl79sgJOl+PHbJePBrIJlBUakXyX97/Vkqthu2ddxI6aHCSELheIl1OjYLB7UVRELzDSLyuwyW8CnIOkWV2SaAiPQyiH5L9CxjSvQDFVcVqPxeoNIy/p1Wjtl6qPQv6DibwqrOdnD6Mz5adGJjG/XiKrqavxG90wxrAV3+XTMTKpdZbY0pM/GfyMMplj51mIq6dD1CUnNUhsuWqTVYtVpDN3QJZSESbrwMhz+gZfOGT4EdAw+EPLIU3Th9/tShV5MpyL+HNsqbgQ/Q79N3fg+i0w5bDkzYPJx root@KFRouter
    Fingerprint: md5 10:fc:00:a4:a8:b3:94:2f:76:93:62:18:b3:fe:aa:5e

    ssh-rsa所在行为公钥内容,也可以使用dropbearkey -y -f /etc/dropbear/my_secret_key| grep ssh-rsa命令生成公钥并打印出来
    3.将生成的公钥粘贴到服务器的~/.ssh/authorized_keys文件里
    4.免输密码下载文件scp root@14.14.44.37:/etc/test test -i /etc/dropbear/my_secret_key
    5.若在服务器上连接不上请查看服务器防火墙配置
<think> 我们讨论的是在同一个子网下,从Linux主机传输.ipk文件OpenWrt设备。 常见的方法有使用scp(安全拷贝)或通过HTTP服务等。 步骤: 1. 确保OpenWrt和Linux主机在同一局域网,并且可以互相ping通。 2. 确认OpenWrt已开启SSH服务(默认使用端口22)。 3. 在Linux主机上使用scp命令上传文件。 示例命令: ```bash scp /path/to/package.ipk root@openwrt_ip_address:/tmp/ ``` 这里: - `/path/to/package.ipk` 是Linux主机上ipk文件的路径。 - `root` 是OpenWrt登录用户名(默认是root)。 - `openwrt_ip_address` 是OpenWrt设备的IP地址。 - `/tmp/` 是OpenWrt设备上的目标路径(推荐放在/tmp下,因为/tmp是临时目录,可写)。 4. 输入OpenWrt的root密码(如果设置了密码)即可完成传输。 另外,如果OpenWrt开启了Web服务器(如uhttpd),也可以将文件放在Linux的HTTP服务器上,然后在OpenWrt上使用wget下载: - 在Linux上启动一个简单的HTTP服务器(例如使用Python:`python3 -m http.server`),然后在OpenWrtSSH中执行: ```bash wget http://linux_ip:port/package.ipk -O /tmp/package.ipk ``` 但根据问题,是从Linux传到OpenWrt,所以scp是最直接的方法。 注意事项:确保OpenWrt有足够的空间存放文件。 现在,根据要求,在回答后提出3-5个相关问题,并在第一行标注“§§相关问题§§”。 </think> 要在同一子网下从Linux主机传输.ipk文件OpenWrt设备,最常用的方法是使用SCP(Secure Copy Protocol),具体步骤如下: ### 操作步骤: 1. **准备OpenWrt** - 登录OpenWrt网页管理界面 → `系统` → `管理权` → 确认SSH访问已启用(默认端口22) - 记录OpenWrt的IP地址(如`192.168.1.1`) 2. **Linux端操作** 打开终端,执行SCP命令格式: ```bash scp /本地路径/文件名.ipk root@OpenWrt_IP:/目标路径/ ``` **示例**(将文件传到OpenWrt的`/tmp`目录): ```bash scp ~/downloads/luci-app-adblock.ipk root@192.168.1.1:/tmp/ ``` - 首次连接需输入`yes`确认主机密钥 - 输入OpenWrt的root密码(默认无密码直接回车) 3. **验证传输** 登录OpenWrt SSH执行: ```bash ls /tmp # 查看文件是否成功传输 ``` ### 替代方法 - **HTTP传输**:在Linux启动HTTP服务 `python3 -m http.server 8080`,在OpenWrt用`wget http://Linux_IP:8080/文件.ipk` - **Samba共享**:若OpenWrt安装`luci-app-samba`,可通过网络共享目录传输 ### 注意事项 1. 确保防火墙未阻断22端口(SCP默认端口) 2. 若OpenWrt无root密码,需先通过`passwd`命令设置 3. 大文件传输前检查存储空间:`df -h`
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值