使用RSA公钥实现在各个主机之间免密码登录
密码是个好东西,可以实现认证,但若你的主机很多,但经常需要在各个主机之间复制文件的话,要记住这些主机的密码是件很难的事情。所以实现在各台linux主机之间免密码登录就显得很重要的了。
通过ssh公钥可以很方便满足这一要求。
首先在本机使用ssh-kergen命令生成本机的公钥和私钥。
[root@localhost .ssh]# ssh-keygen #(用-t参数创建指定类型的密钥ssh-keygen -t rsa/dsa) #生成本机的公钥和私钥,生成的文件存放在~/.ssh中。Turbo系统生成的文件名为identity 和identity .pub ,Redhat生成的文件为id_rsa和id_rsa.pub |
[root@ns2 .ssh]# ssh-copy-id -i id_rsa.pub root@192.168.1.166 # 需要说明的是必须使用I来指明公钥文件的绝对路径,否则报错。 Now try logging into the machine, with "ssh 'root@192.168.1.166'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting. # 将文件拷贝到远程服务器。需提供对方服务器的密码。 |
[root@ns2 .ssh]# ssh root@192.168.1.166 Last login: Wed Mar 21 17:51:54 2012 from 192.168.1.99 Hello Wold !!! Welcome to RedFlag.ORG |
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAu0nXaINjqScRMKM+z52g21iwGGq7T9DlFg/LDVENj2BMrzzWA/OSS O7smK3ZBheHJVHKf31M0DuhILP5V2erx9KrzyRmdhtq4+T3aXk/uSH5228L5+aSyLW8GQw60Y3zPkmaoVeEE9BCYp dtau+d4wVUOUjr/ScDzHLvLP4pcEMwOHvjx3w4Pa7M08H/wTlIEp0TMbAM06rSX4ZOadrhhUEAWp9hcj5f8whcQ6NIlb5 iiVpzxnewcdTtm9re8R66GC877xtIhk7NLpZrw4LSngfNU/pKX+XeVU8Zi5syMOCnn/N6fEYKs0VlDKO3+cyP/l/HjH6B27WBhvxZjhmuOHHVw== root@ns2.redflag.org |