华硕网络产品技术交流平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

查看: 27223|回复: 4

[其他] 使用SSH远程登录华硕路由器(Merlin &Tomato)

[复制链接]

26

主题

31

回帖

5310

积分

论坛元老

Rank: 8Rank: 8

积分
5310
发表于 2014-8-29 13:52:09 | 显示全部楼层 |阅读模式
本帖最后由 白巨斗 于 2014-8-29 14:01 编辑

LinuxOS 远程访问ASUSWRT Merlin固件和 Tomato 固件介绍


1. SSH 登陆原理
理解SSH的加密原理要对公钥和私钥有一定的了解,在SSH信息传递过程中公钥为加密秘钥,私钥为解密秘钥。
例子:Client用SSH登陆Server,命令"ssh root@ routerWAN IP" ,过程如下,
(1)Client连接Server
(2)Server返回一个公钥(Public Key)给Client
(3)Client用Server返回的公钥对用户的账号和密码进行加密,并发送给Server
(4)Server接收到Client发送的加密后的账号和密码信息,用私钥(Privacy Key)进行解密,验证成功

有兴趣的同学可以再研究下数字签名技术,其使用加密秘钥作为私钥,解密秘钥作为公钥。

2. SSH known_hosts文件
known_hosts文件用来记录连接过的Server所发送的公钥信息,为什么要将Server发送过来的公钥记录保留在文件中呢?
这种做法可以尽量的避免中间人攻击(Man-in-the-middle attack)。中间人攻击:如果存在一个hacker获取到Client发送的SSH登陆请求后,伪造一个包含公钥的数据包发送给Client,Client将用hacker发送的公钥对账号/密码进行加密后,发送给Hacker所用的主机,由此Hacker变获得了Client欲登陆的Server的账号和密码。
known_hosts文件记录了原先Client登陆Server时,Server发送给Client的公钥信息,在下一次登陆Server的时候,会将Server这次返回的公钥和known_hosts里面记录的公钥进行比对,如果不同,则会给出如下图提示信息,给用户给出警告.
显示的"xx:xx....xx:xx"并不是公钥,而是公钥的md5值。因为公钥比较长,通过known_hosts中Server的公钥的md5值与Server刚返回的公钥的Md5进行比较,则可以确定两个公钥是否一致。
当然如果你确定Server没有问题,可以删除掉known_hosts文件(一般在~/.ssh/目录下)里Server ip对应的那一行信息,则可以成功SSH登陆到Server。

3. SSH 实现无密码登陆
SSH也提供了基于秘钥的安全验证,该方法不需要Client输入登陆的账号和密码。其原理如下:
(1)Client使用命令"ssh-keygen-t rsa"产生一对公钥和私钥(Key Pair),公钥:~/.ssh/id_rsa.pub, 私钥:~/.ssh/id_rsa。
(2)将id_rsa.pub里面的公钥添加进Server:~/.ssh/authorized_keys 文件中
(3)Client SSH登陆Server,连接Server
(4)Server产生一个随机数并且用原先Client给予的公钥进行加密,发送给Client
(5)Client接收到Server的反馈的加密后的随机数信息,用私钥解密,并将解密后的结果发送给Server

(6)Server将Client解密的信息与原先产生的随机数进行比对,如果相同,则验证成功

一.ASUSWRT Merlin 固件 (RT-AC68U 刷梅林固件v45版)

使用Authrorized Keys登陆华硕路由器Console指令页面。
步骤1: ssh-key-gen 在本地主机上创建公钥和密钥
#ssh-keygen-t rsa

步骤2:设置权限
# cd/root/.ssh
#chmod 700 ~/.ssh
#chmod 600 ~/.ssh/id_rsa
#chmod 644 ~/.ssh/id_rsa.pub

步骤3: PC的公钥写入DUTSHH serverauthorized_keys文件
# cat.ssh/id_rsa.pub | ssh admin@Router WAN IP -p22 ‘cat >> .ssh/authorized_keys’
注:若无法成功,可能是known_hosts档案未删除导致,以下指令进行删除,再执行步骤3.
# rm-rf /root/.ssh/known_hosts

步骤4: Linux OS远程访问DUT SSH
#sshadmin@DUT WAN IP -p22 -i ~/.ssh/id_rsa


二.Tomato固件(RT-AC66U刷Shibby 固件v121版)

与Merlin固件不同点在于登录用户
梅林用admin(或其他用户自己修改的登陆账号)
Tomato Shibby固件则固定用root
步骤1: ssh-key-gen 在本地主机上创建公钥和密钥
#ssh-keygen -t rsa

步骤2:设置权限
# cd /root/.ssh
# chmod 700 ~/.ssh
# chmod 600 ~/.ssh/id_rsa
# chmod 644~/.ssh/id_rsa.pub

步骤3: PC的公钥写入DUTSHHserverauthorized_keys文件
# cat .ssh/id_rsa.pub | sshroot@IP -p22 ‘cat >> .ssh/authorized_keys’
注:若无法成功,可能是known_hosts档案未删除导致,以下指令进行删除,再执行步骤3.
# rm -rf/root/.ssh/known_hosts

步骤4: Linux OS联机DUT SSH
#ssh root@DUT WAN IP -p22-i ~/.ssh/id_rsa

微信扫一扫,阅读更方便^_^

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

21

主题

227

回帖

763

积分

高级会员

Rank: 4

积分
763
发表于 2014-8-29 17:02:03 | 显示全部楼层
SSH优点是什么?更安全吗?
发表于 2014-8-29 17:21:42 | 显示全部楼层
SSH连接比Telnet安全多了。

14

主题

210

回帖

1万

积分

论坛元老

Rank: 8Rank: 8

积分
14221
发表于 2014-8-30 14:16:06 | 显示全部楼层
和直接使用ssh client有什么区别呢?
0+0=?

26

主题

31

回帖

5310

积分

论坛元老

Rank: 8Rank: 8

积分
5310
 楼主| 发表于 2014-9-2 10:02:39 | 显示全部楼层
蛋蛋 发表于 2014-8-30 14:16
和直接使用ssh client有什么区别呢?

有推荐的Windowns Client Tool吗? 可以直接用Authorized keys 登陆的那种(不需要输入密码,用私钥就能登陆)。

我这边还没有试到好用的Windows SSH client软件,使用私钥就能登陆的。
试着用Putty .Tera Term, Bitvise SSH client, Secure CRT,对工具不熟悉,还没有试出来能用Authorized keys 登陆的。

各位坛友请帮忙试试啊
工具我先存到网盘http://yunpan.cn/Q7KFQ5Cvufeec  提取码 38bf
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

快速回复 返回列表 搜索 官方QQ群
×

秒后自动关闭

小黑屋|手机版|Archiver|华硕网络产品技术交流平台 ( 苏ICP备16010857号-1 )苏公网安备 32050502000499号

GMT+8, 2024-3-29 00:43 , Processed in 0.037483 second(s), 33 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表