SSH免密码验证

时间 : 14-06-14 栏目 : linux运维 作者 : 老薛 评论 : 0 点击 : 1,070 次

# create by maidong
# date 20110116
# linux运维社区
一 定义机器角色
A:192.168.15.1
B:192.168.15.253
C:192.168.15.17

二 业务需求
在mike用户下,实现A机器从本地分发数据到B、C机器上不需要系统密码验证:
即实现 网站发布数据的生产环境解决方案

三 操作步骤
3.1 分别在A、B和C端事先建立好mike用户并设置密码
useradd mike
echo "mike"|passwd mike --stdin && history -c
注:如果已存在同名用户,可通过userdel -rf mike来删除后在建。

C机器上操作:
3.2在C机器端建立dsa key("去超市买锁")
su - mike
ssh-keygen -t dsa //直接一路回车到底生成key

我们查看下"买的锁吧"
[mike@C ~]$ ls -l .ssh/
-rw------- 1 mike mike 668 Sep 12 02:26 id_dsa #→钥匙
-rw-r--r-- 1 mike mike 598 Sep 12 02:26 id_dsa.pub #→锁
3.3 修改公钥文件名为authorized_keys("开启锁,使生效可使用")
即在C机器端执行如下命令:
cd /home/mike/.ssh/
mv id_dsa.pub authorized_keys #→ 开启锁,使生效可使用 ,authorized_keys就是"锁"。
#注意 有authorized_keys的一端我们称之为"锁"端

3.4打包dsa key("把锁放好")
即在C机器端执行如下命令:
cd /home/mike
tar zcvf ssh-key-$(uname -n).tar.gz .ssh

注意:$(uname -n) 为shell变量,意思是根据机器名拼接得到tar包的名称
可以使用这条命令tar --exclude id_dsa -zcvf ssh-key-$(uname -n).tar.gz .ssh

[mike@C .ssh]$ ls -l
total 8
-rw-r--r-- 1 mike mike 598 Sep 12 12:42 authorized_keys
-rw------- 1 mike mike 668 Sep 12 12:42 id_dsa

A机器操作
4.1 分别再A机器端和B机器端拷贝钥匙TAR包。
su - mike

#再A机器端去C端取钥匙包
cd /home/mike
scp -P50718 mike@192.168.15.17:/home/mike/ssh-key-haproxy-new.tar.gz .
tar zxvf ssh-key-haproxy-new.tar.gz

从A登陆C测试:
[mike@A ~]$ ssh -p50718 mike@192.168.15.17
[mike@C ~]$
发现可以已经不要密码可以登陆了。

#下面是B机比A机多执行的命令
修改公钥文件名为authorized_keys("开启锁,使生效可使用")
即在B机器端执行如下命令:
cd /home/mike/.ssh/
mv id_dsa.pub authorized_keys #→ 开启锁,使生效可使用 ,authorized_keys就是"锁"。
#注意 有authorized_keys的一端我们称之为"锁"端

[mike@B .ssh]$ ls -l
total 12
-rw-r--r-- 1 mike mike 598 Sep 12 12:42 authorized_keys
-rw------- 1 mike mike 668 Sep 12 12:42 id_dsa
-rw-r--r-- 1 mike mike 391 Sep 12 12:49 known_hosts

为什么B机器端 比A端多执行命令呢?
因为,我们的业务需求为:
A--->B
A--->C
所以:B C 都为锁端,必须要使锁生效,即需要修改公钥文件名为authorized_keys("开启锁,使生效可使用")

从A登陆B测试:
[mike@A ~]$ ssh mike@192.168.15.253
The authenticity of host '10.0.0.15 (10.0.0.15)' can't be established.
RSA key fingerprint is 63:bf:1c:fe:db:a0:d4:f4:f3:4d:40:d6:63:fb:f0:ec.
Are you sure you want to continue connecting (yes/no)? YES
Warning: Permanently added '10.0.0.15' (RSA) to the list of known hosts.
Address 10.0.0.15 maps to localhost, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
[mike@B ~]$ exit
logout
发现可以已经不要密码可以登陆了。

除非注明,文章均为( 老薛 )原创,转载请保留链接: http://www.bdkyr.com/xtyw002/140.html

SSH免密码验证:等您坐沙发呢!

发表评论

7 + 0 = ?


博主微信号,很高兴为您提供帮助

随便看看

0