首先,来说说对ssh的理解。ssh协议英文名字:secure shell,翻译成中文–‘安全的外壳’。ssh协议通过tcp协议作为数据传输,ssh协议就想它的英文名字一样,应该说它就是一个安全的外壳包装,保证数据的安全性。事实上,就是通过tcp协议来做传输。
使用ssh有时会遇到连接超时问题。原因是:没有给服务端或者客户端设置心跳连接。因此,如果你要长时间连接服务端而不超时,那么,需要给ssh设置心跳间隔。
putty链接时,我们需要设置一个参数来确定心跳包的发送时间间隔:
这样在通过ssh了解服务端时,就不在会出现超时了。
此处贴上ssh秘钥生成方式,以及putty如何使用ssh生成的秘钥:
首先我们需要生成一对秘钥:
然后,处理得到的公钥和私钥,公钥需要改成ssh默认操作的公钥文件authorized_keys,并修改此文件权限。如下图
同时,还需要将生成的私钥id_rsa下载到你的客户端。然后我们通过puttygen生成.ppk的key文件。
选择从服务端下载下来的id_rsa文件
保存私钥。到了这里秘钥生成步骤全部完成了。接下来我们需要使用这个.ppk文件做ssh免密连接了。
首先选择ip地址和端口号(默认22)
设置自动免密登录的账号
最后选择对应的.ppk文件
最后看下效果图
此外,还有些疑问:
1.ssh服务端设定超时的时间是多少,怎么设定。
2.ssh协议既然能保证不被DNS和ip欺骗,是不是意味着ssh将DNS和ip信息也进行了加密,如果是的话,怎么保证路由能够识别已经加密的tcp数据,尤其是目的ip地址。