把ssh想象成一个软件,用来建立网络连接的软件,那参考计算机网络。
建立连接需要密码,ssh有公钥和私钥之分。
其中,私钥是留本地电脑的,公钥是存到我们主动想要建立连接的主机上。
举个例子:当我们ping远程端电脑的时候,这个公钥就要保存在远程主机上。谁主动发起连接会话,就要把自己的公钥给别人。
大致过程的猜想:
通过ssh密钥连接阿里云服务器的配置方法:
先介绍一下前置知识
.ssh下的几个文件:
①id_rsa、id_rsa.pub分别是私钥和公钥。
②authorized_keys是存放请求方的公钥,存了客户端的公钥后才能作为服务器通过密钥的方式被访问。这个文件夹可以存放多个公钥,也就是能被不同的主机访问。
③config是设置配置文件,使得可以通过取别名的方式访问我们的常用服务器。
配置步骤
- 客户端生成ssh公钥、私钥
- 把客户端的公钥,保存到服务器的authorized_keys文件中。
这里要注意的是,在此之前登录到阿里云服务器我常用的有两种,一种是ssh密码的方式登录,另一种是网页的vnc登录(非常强大!ssh登不上的时候强推!)。 - 接下来就可以直接使用ssh的密钥对直接访问了。同时可以配置config文件,避免每次登录都要输入ip麻烦。
使用阿里云遇到的问题
1、ssh突然连接不上,报错kex_exchange_identification。
解决方案:vnc登入云服务器,ufw disable关闭主机防火墙。
原因:云服务器有一个云防火墙,而服务器主机的防火墙通常是关闭的。通常我们要开放端口的话,需要在网页上把云服务器的防火墙中想要的端口设置为开放即可。但是,如果ufw把主机防火墙也打开了,那就等于是有两道防火墙了,如果两道防火墙中任意一道没有把ssh的22号端口打开,则ssh访问不了。