Linux使用ssh公钥实现免批量分发管理服务器

Posted centlnx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux使用ssh公钥实现免批量分发管理服务器相关的知识,希望对你有一定的参考价值。

ssh 无密码登录要使用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS 6.6为例。

管理机器外网IP10.0.0.61(内网172.16.1.61) 服务器外网10.0.0.31,端口52113,内网172.16.1.31

(1)首先在所有机器上批量创建管理用户。

[[email protected] ~]#useradd oldgirl

[[email protected] ~]#echo 123456|passwd --stdin oldgirl

[[email protected] ~]#id oldgirl

(2)所有机器均切换到管理用户,并创建密钥对。

[[email protected] ~]#su – oldgirl

[[email protected] ~]$ssh-keygen -t dsa  # -t指定秘钥类型,默认为rsa,连续按三个回车键

Your identification has been saved in /home/oldgirl/.ssh/id_dsa

Your public key has been saved in /home/oldgirl/.ssh/id_dsa.pub

[[email protected] ~]$pwd

/home/oldgirl

[[email protected] ~]$ll .ssh/

-rw------- 1 oldgirl oldgirl  668 Mar 24 19:40 id_dsa

-rw-r----- 1 oldgirl oldgirl  601 Mar 24 19:40 id_dsa.pub   锁

或者使用下面的命令,非交互式一键创建密钥对

  1、ssh-keygen -t dsa -P ‘‘ -f ~/.ssh/id_dsa >/dev/null 2>&1

  2、[[email protected] ~]$    echo -e "\n"|ssh-keygen -t dsa -N ""

(3)分发秘钥(锁)给需要管理的机器

[[email protected] ~]$ ssh-copy-id -i .ssh/id_dsa.pub "-p 52113 [email protected]"  注意这里是内网网段,端口已修改为52113。这里的拷贝仅仅针对公钥,它不会发送私钥。另外也可以使用scp -P去远程复制。

如果端口没有做修改,那么可以直接使用[[email protected] ~]$ssh-copy-id -i .ssh/id_dsa.pub  [email protected],这里是外网网段。

(4)分发完秘钥之后,可以去客户机(服务器)去查看公钥信息及权限

[[email protected] ~]$ll .ssh/
-rw------- 1 oldgirl oldgirl 601 Mar 24 19:56 authorized_keys   #权限为600,传过来的共要文件更名为authorized_keys,这个是在ssh配置文件(/etc/ssh/sshd_conf)设置的。

(5)测试:远程使用命令查看服务器网卡

[[email protected] ~]$ssh -p52113 [email protected] /sbin/ifconfig eth0

eth0      Link encap:Ethernet  HWaddr 00:0C:29:85:5E:85 

inet addr:10.0.0.31  Bcast:10.0.0.255  Mask:255.255.255.0

至此,初步实现使用ssh公钥实现免批量分发管理服务器。


以上是关于Linux使用ssh公钥实现免批量分发管理服务器的主要内容,如果未能解决你的问题,请参考以下文章

ssh实现多级免密码验证企业分发管理

免交互方式批量分发公钥脚本

20170117老男孩linux实战运维培训-SSH KEY免密码验证分发管理备份实战讲解01

ssh key 免密码登陆服务器,批量分发管理以及挂载远程目录的sshfs 功能

免密码交互方式+ansible批量管理服务介绍

ssh key密钥认证实现批量分发管理部署