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<span style="color:#3366ff;">
- </span>
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等命令