ssh登陆远程服务器我们有两种方式:密码登陆和免密登陆
密码登陆
如上图所示,我们直接使用ssh命令来连接,然后它会要求我们输入服务器的密码,输入密码就可以登陆了。后面的-p是指定端口号,默认为22,所以如果端口号是22的话,就可以不用写-p选项。
免密登陆
对于免密登陆,我们要了解的是,免密登陆是借助一对密钥来登陆的,密钥分为公钥和私钥,公钥用来加密,私钥用来解密,我们在本地建立一组公钥和私钥,然后把公钥复制到远程的服务器上,这样就可以保证两边加密的信息格式一致,它的过程如下:
首先我们的客户端先发出连接请求,请求信息中包括客户端的用户名、ip等,服务器端收到请求后,会在autuorized_keys文件中查找是否有该请求中的用户名、ip等,如果有,则生成一个随机字符,并将这个字符发给客户端,如果客户端可以解密并且把这个字符串发给服务器端,那么服务器端在收到后就允许免密登陆。
我们来看以下如何实现,实现我们用的是openssh这个软件,首先我们生成公钥和私钥(由于我本机已经有一对公钥和私钥了,这里就用服务器来生成),中间都回车就行了:
然后把公钥复制到远程服务器上:
最后ssh直接连接就可以免密登陆了: