使用公钥实现在各个主机之间免密码登录

使用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   
         将生成的公钥通过ssh-copy-id 命令拷贝到远程主机。
 [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.
# 将文件拷贝到远程服务器。需提供对方服务器的密码。
      做完这些后就可以直接SSH  免密码登陆了。
 [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/authorized_keys  文件可以看到所有可免密码登陆本机的用户公钥信息。
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
   
  当然了,方便可能会带来一些安全主面的隐患,如只要一台主机沦陷,黑客就可以通过这台主机登陆到所有可免登陆的主机上,该怎么办呢?有高手提供了解决方案。

posted on 2012-10-11 17:04  生活费  阅读(578)  评论(0编辑  收藏  举报

导航