因为这两天需要给一个服务器部署一个比较复杂的项目,打算的思路是用docker来完成,但是在开始之前需要安全的连接上服务器,所以就需要对SSH协议有所了解,google了一下,了解了它出现的背景和使用方法,据历史表明是芬兰的一个科学家发现自己所在校园的网络经常被黑客黑,就发明了这个ssh协议,具体的历史,有兴趣的朋友可以去百度。下面我就分享一下ssh协议的原理和具体的使用。请相信坏蛋哥阅读官方文档是一个非常好的学习方式。
一 SSH协议
1.协议了解2.协议的使用
1.协议了解
ssh协议是现在远程服务器登陆的常用协议,现在一般用的SHA-2加密
参考链接:
https://www.ssh.com/ssh/protocol/ 这是官方文档对其的讲解
https://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html 这是一个博客对其的讲解,讲解得?,对一些常见得命令和用法进行了讲解
https://zh.m.wikipedia.org/zh-hans/Secure_Shell 这是维基百科对其的讲解,历史讲得不错,但是里面说到的公钥验证,和官方基于密钥验证说法有点差别,但是其原理也能保证安全认证!
2.协议的使用
登陆服务器一般有两种方式,一种是用用户名和密码登陆的方式。ssh username@ipaddress
然后输入密码进行登陆。前提是主机安装了ssh-client,服务器安装了ssh-server。
第二种方式是通过密钥的方式。该方式就是上图的方式而。但是他要基于第一种方式,或者手动添加公钥到服务器中。一般的方式是使用ssh-copy-id
这个工具命令行来实现登陆后,将主机公钥写入到服务器中。如果主机没有公钥,可以通过ssh-keygen
来生成公钥和私钥。
总结方式二:
用
ssh-keygen
生成一个密钥对,根据提示信息将密钥对保存到指定的位置,需要了解更多可以看看官方文档:ssh-keygen用公钥的方式认证用
ssh-copy-id
将公钥发送给服务器,以后登陆则不需要密码,而且更加安全。
知识了解了,但不代表就会了,还要在实践中检验才行。希望坏蛋哥的分享能帮到您,欢迎点赞转发。如有错误,望指出改正。谢谢阅读。