秘钥登录,免密码登录!
case1
需求:DB服务器需要免密码访问AP服务器
1.公钥私钥的作成(被访问服务器中做成(ap#1、ap#2))
①su - batch
②$ ssh-keygen -t rsa -b 2048
※这个过程直接按Enter键
③公钥做成authorized_keys
$ cd /home/batch/.ssh
$ cat id_rsa.pub >> authorized_keys
$ chmod 600 authorized_keys
④为了稍作区分,分别作成访问ap#1,ap#2的私钥,其实他们是同一个东西
$ mv id_rsa id_rsa_ap01 (ap#2:id_rsa_ap02)
④SSH登录设置
authorized_keys的开头加入下面的内容
no-pty,no-port-forwarding,no-X11-forwarding,no-agent-forwarding,from="DB#1IP,DB#2IP", ssh-rsa ・・・
⑤将做成的私钥存到DB服务器的「/tmp」
# tar cvf /tmp/key_ap01.tar id_rsa_ap01(AP#2:key_ap02.tar)
2.私钥的存放
登录到DB服务器
# cd /home/batch
# mkdir key
# chown batch:batch key
# chmod 700 key
# ls -ld key
# cd key
# tar xvf /tmp/key_ap01.tar(ap#2:key_ap02.tar)
# ls -l
3.通过scp转送文件判断是否配置完好
①DB服务器
# su - batch
$ cd /tmp
$ touch scp_test.txt
$ scp -i /home/batch/key/id_rsa_ap01 /tmp/scp_test.txt batch@ap01:/tmp/.
$ scp -i /home/batch/key/id_rsa_ap02 /tmp/scp_test.txt batch@ap02:/tmp/.
※初回使用时、询问登录到known_host
②ap服务器中确认是否收到相应文件
# ls -l /tmp/scp_test.txt
case2
访问元服务器里面操作,然后将公钥存放到对象服务器,这样就可以实现免密码登录到对象服务器。
1.生成公钥和私钥
ssh-keygen -t rsa -N ""
2.cd /root/.ssh/
3.通过ll查看刚才生成的公钥和私钥
id_rsa
id_rsa.pub
4.ssh连接到对象服务器
ssh 192.168.100.31
[email protected]'s password:
5.将public key拷贝到对象服务器上
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
6.再次ssh连接到对象服务器时,不再需要输入密码。
ssh 192.168.100.31
总结:被访问的机器里放公钥,需要访问的机器里放私钥