前言
这段时间小白更新了很多关于SSH远程调试的内容,无论是飞牛NAS、OneCloud还是其他的设备,基本上都会有一个流程:
Windows的CMD命令提示符里使用【ssh 用户名@ip】远程连接xxx设备。
好的,这个远程连接方式是真的很常用,所以小白决定水一期内容讲讲这个!
正文开始
如果是经常玩调试的小伙伴可以使用Putty等软件,不一定要使用CMD命令提示符的(小白是真的比较懒,而且不经常使用Windows,所以就算了)
安装Putty教程
打开之后你就能看到
英文确实有点看不懂了,不过没关系,一路点击【Next】到【Finished】就可以了
安装好了之后在【开始菜单】上找到【putty】,打开就能使用。
在这填写ip,接着点击【Open】
弹出提示是之前在命令提示符里需要输入yes的地方,就是ssh密钥认证(第一次登录),这里咱们点击【Accpt】
到这里是提示输入登录用户名
这个是提示输入密码
登录成功之后就是这样的
好像跟使用Windows命令提示符有着异曲同工之妙!
嗯……不要问我有什么不一样的,因为小白很少使用到putty,没认真比较过。
到这里就开始咱们的正文了!
各种NAS之间与Linux有什么关系?
飞牛NAS、群晖NAS、威联通NAS等NAS系统,甚至这几天折腾的OneCloud系统基本上都是基于Linux系统定制的,所以SSH链接方式基本上都一致,甚至有些命令行都是一样的。
唯一有些不一样的是玩客云的OneCloud系统虽然是Linux,但它的指令集是ARM,所以不是所有的Linux软件都能安装。
啊,讲偏了……
SSH连接设备有哪些方式?
不过今天咱们要说的是SSH链接方式,通过之前的教程基本上能了解到咱们使用的大部分是:
ssh 用户名@IP
比如:
ssh airhuang@192.168.33.155
ssh airhuang@192.168.192.199
ip很容易理解,就是局域网ip或者公网ip,只要能ping通到该主机,直接就可以连接。
不过ip可能会变,比如更换网络或者设备DHCP的时候分配了另外的网络,那ssh连接之前的ip就不能通了。
有没有可能还有别的方式呢?那肯定是有的,比如@主机名称。于是ssh连接的命令行就变成了:
ssh 用户名@主机名称
比如:
ssh airhuang@airhuang-fn
ssh airhuang@onecloud
这种方式的好处在于可以不需要知道设备的ip地址,只需要知道设备的名称即可,比如你登录上飞牛NAS之后,浏览器标签页上显示的就是你的主机名称:
这种连接方式也是有弊端的,就是飞牛与控制设备没有处在局域网的同一网段,连接方式就会失效。
如果你有做DDNS-GO动态解析ipv6到域名,则可以在操作设备有ipv6的情况下,把命令行写成:
ssh 用户名@域名
比如:
ssh airhuang@mylocal.com.cn
这种方式的好处很多,可以远程调试,不受制于区域的限制。缺点也是有的,就是控制设备如果没有分配到公网ipv6,就无法连接。
以上三种方式都是咱们经常使用的,但更好的方法还是使用虚拟局域网!
ssh 用户名@虚拟局域网ip
比如:
ssh airhuang@192.168.192.200
好的,这种方式就是小白常用的了。春节了,小白回了老家过年,但大部分设备还是在广州,所以就给设备提前部署了虚拟局域网。
这种方式也有弊端:如果设备之间无法p2p直连,那网络将会卡到怀疑人生。部署了虚拟局域网的电脑在更换不同网络的情况下,比较容易出现无法ping通设备的情况。
比如你做了几个设备加入了虚拟局域网,他们之间会有一种很奇怪的现象:
A能ping通B和D,但无法ping通C
B能ping通C和A,但无法ping通D
C和D却能互通
哈哈哈,改天深究这一现象!