linux免登陆最常见的方式就是使用基于ssh协议的公钥认证方式。其原理就是将你机器的公钥分发到需要免登陆的机器上。

    Step1:安装ssh服务:sudo apt-get install ssh 并开启服务 service ssh start

    Step2 :使用ssh生成公钥证书

    在$home/.ssh目录下生成公钥:ssh-keygen -t dsa

    

ssh-keygen -t dsa

Generating public/private dsa key pair.
Enter file in which to save the key (/Users/songjing/.ssh/id_dsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/songjing/.ssh/id_dsa.
Your public key has been saved in /Users/songjing/.ssh/id_dsa.pub.
The key fingerprint is:
3d:65:12:77:dc:c1:ba:c8:be:70:0e:66:21:71:8c:03 songjing@127.168.176.60.broad.hz.zj.dynamic.163data.com.cn
ssh可以使用-t指定密钥类型:dsa或者rsa生成对应的密钥。记住 这个过程中只需要不停的按enter即可。

   Step3:将公钥copy到主机和需要登陆的机器的authorized_keys文件中(如么有,创建即可)

   在A主机,scp ~/.ssh/id_dsa.pub  userB@10.20.0.2:~/.ssh/id_dsa.pub
   此过程中需要输入B主机的userB的密码。
   然后,在A,B主机:cat ~/.ssh/id_dsa.pub  >> ~/.ssh/authorized_keys (将id_dsa.pub的内容追加到 authorized_keys中)

  Step4,接下来就可以通过A机器无需密码就能登陆到B机器上并且执行scp等命令

Logo

更多推荐