前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >openwrt的免密登录

openwrt的免密登录

作者头像
老高的技术博客
发布2022-12-27 15:21:58
1.2K0
发布2022-12-27 15:21:58
举报

openwrt的ssh和标准ssh所需要的秘钥格式不同(ssh-kengen产生的是PEM格式),想要生成能够正常工作的秘钥,使用下面的命令。

代码语言:javascript
复制
dropbearkey -t rsa -f ~/.ssh/id_rsa
dropbearkey -t rsa -f ~/.ssh/id_rsa -s 2048

结合老高N久以前写的文章使用ssh的反向隧道管理内网路由器,我们使用如下命令就可以实现,假设我们把路由器的22端口映射到VPS上的2222端口,假设我们已经建立了到VPS的免登陆。

代码语言:javascript
复制
ssh -gfTN -R 0.0.0.0:2222:lu.you.qi.ip:22 v.p.s.ip -p ssh.port -l username -K 30

解释:

0.0.0.0 指 映射到IPV4 11111 指 将要映射到的端口 lu.you.qi.ip 指 路由器的LAN口IP v.p.s.ip 指 VPS的IP ssh.port 指 登录VPS的端口 username 就不说了 -K 30 指的是每隔30s发送一段加密数据以保持链接

开机启动:

vi /etc/init.d/ssh

代码语言:javascript
复制
#!/bin/sh /etc/rc.common
# Mr.Gao endoffight@gmail.com
# Copyright (C) 2007 OpenWrt.org
START=99
STOP=15
VPS_IP=blog.phpgao.com
VPS_PORT=22
VPS_USERNAME=laogao
LOCAL_PORT=192.168.1.1:22
REMOTE_PORT=0.0.0.0:2222
PROG=/usr/bin/ssh
KEEP_ALIVE=30
start() {
        $PROG -gfTNR $REMOTE_PORT:$LOCAL_PORT $VPS_IP -p $VPS_PORT -l $VPS_USERNAME -K $KEEP_ALIVE
}
stop() {
        killall -q -9 ssh
        return 0
}

接着执行

代码语言:javascript
复制
chmod a+x /etc/init.d/ssh
/etc/init.d/ssh enable
/etc/init.d/ssh start

参考:

Init Scripts

Dropbear Configuration

Open SSH Server connection drops out after few or N minutes of inactivity

What options ServerAliveInterval and ClientAliveInterval in sshd_config exactly do?

Keep Your Linux SSH Session From Disconnecting

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-01-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档