假设现在你有了一台主机器main: 192.168.0.1和一台从机器clinet:192.168.0.2;
首先 cd ~/.shh/ 目录下,有一个 known_hosts文件;
然后输入:[root@localhost .ssh]# ssh-keygen -t rsa后出现:
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
意思是正在生成 公/私钥,请输入要保存的路径,可以直接enter,
默认保存在了 /root/.ssh/id_rsa目录下;
回车后出现:Enter passphrase (empty for no passphrase):
Enter same passphrase again://输入私钥的密码,要求不小于4位数;
再输入后回车:
这时公钥及秘钥都已经生成在了 /root/.ssh目录下,
[root@localhost .ssh]# ls
id_rsa id_rsa.pub known_hosts
其中id_rsa 为私钥,id_rsa.pub 为公钥;
先把公钥拷贝本机一份: ssh-copy-id localhost //会在本机.ssh目录下生成一个authorized_keys
[root@localhost .ssh]# ls
authorized_keys id_rsa id_rsa.pub known_hosts
这时把主机(或者client)上的公钥拷贝到client机器上:
1,ssh 192.168.0.2 //连接到client机器,输入密码
2,ssh-copy-id 192.168.0.2
切换到client机器上 cd ~/.ssh目录下 发现会多了一个 authorized_keys 文件
测试 在主机上 ssh 192.168.0.2 看是否需要输入密码登录到client;
如果主机器可以免密登录client, 而client登录主机需要输入密码,请reboot client即可;