是否在为每次登录服务器都要输入密码感到烦恼,想不想一次配置,以后直接免密码登录~~来,心动不如行动动!
需求:A机器想要从此以后免密码登录到B机器(ssh username@IP(B)直接登录,不再要求输入密码)
原理
既然要A机器免密码登录B机器,那么A机器只是不用密码这种方式作为验证自己用户身份的方式了,而是换成了连接过程中的加密和解密验证。
简单说来,我们作免密码登录的配置过程,就是在和B机器说:以后凡是A机器来登陆,你确认是他的身份后,就让它直接上你就行了~
那么关键就是,如何确认A机器的身份?这里就涉及到公钥和私钥的知识。
公钥和私钥都是成对出现的,它们顾名思义是一对钥匙,钥匙既可以用来解锁(开锁),也可以用来加锁(关锁)。在网络上我们传输重要信息,如银行卡的账户密码时,一般都是需要在传输过程加锁,传输到目的地后解锁的,这样可以防止过程有人抓包,直接截获了重要信息。另外,也要防止一点是,有人截获数据包后,恶意发送假的数据包到对面,破坏两边原本正常的沟通。
综上,安全的隐秘交流的关键在于确认两点:
- 只有有钥匙的人可以解开我的密文。
- 密文是我发的,不是别人冒充发的。
而一种比较传统的加锁解锁