主要原理依据是:
1.在A上生成公钥私钥。
2.将公钥拷贝给server B,要重命名成authorized_keys(从英文名就知道含义了)
3.Server A向Server B发送一个连接请求。
4.Server B得到Server A的信息后,在authorized_key中查找,如果有相应的用户名和IP,则随机生成一个字符串,并用Server A的公钥加密,发送给Server A。
5.Server A得到Server B发来的消息后,使用私钥进行解密,然后将解密后的字符串发送给Server B。Server B进行和生成的对比,如果一致,则允许免登录
准备及达到的结果:
准备一台母机,一台测试机,以后就可以从母机上面执行ssh root@192.168.1.1 直接登录机器
方案:
1、登录一台机器,此台做为母机(即登入其他linux系统用这台做为入口);执行一行命令生成key文件:ssh-keygen -t rsa
2、在母机上,进入/roo/.ssh目录,找到id_rsa.pub该文件,这个文件就是刚才执行ssh-keygen所生成的公钥key文件。
3、用scp命令,将母机产生的key(公钥)拷一份到远程的linux服务器上,并命名成authorized_keys;scp ~/.ssh/id_rsa.pub root@192.168.1.113:/root/.ssh/authorized_keys。这一步的操作需要手动输入密码
4、直接在母机上执行ssh root@192.168.1.1 机器,不用密码了,ok,完成!