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

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

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

[root@m01 ~]#useradd oldgirl

[root@m01 ~]#echo 123456|passwd --stdin oldgirl

[root@m01 ~]#id oldgirl

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

[root@m01 ~]#su – oldgirl

[oldgirl@m01 ~]$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

[oldgirl@m01 ~]$pwd

/home/oldgirl

[oldgirl@m01 ~]$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、[oldgirl@backup ~]$    echo -e "\n"|ssh-keygen -t dsa -N ""

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

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

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

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

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

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

[oldgirl@m01 ~]$ssh -p52113 oldgirl@172.16.1.31 /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公钥实现免批量分发管理服务器的更多相关文章

  1. SSH认证原理和批量分发管理

    SSH密码认证原理 几点说明: 1.服务端/etc/ssh目录下有三对公钥私钥: [root@m01 ssh]# ls moduli ssh_config sshd_config ssh_host_d ...

  2. Linux使用ssh公钥实现免密码登录Linux

    ssh 无密码登录要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例.有机器A(192.168.1.155),B(192.168.1.181).现想A ...

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

    ssh key 免密码登陆服务器,批量分发管理以及挂载远程目录的sshfs 第一部分:使用ssh key 实现服务器间的免密码交互登陆 步骤1: 安装openssh-clients [root@001 ...

  4. (转)Linux SSH批量分发管理

    Linux SSH批量分发管理 原文:http://blog.51cto.com/chenfage/1831166 第1章 SSH服务基础介绍 1.1 SSH服务 1.1.1SSH介绍 SSH是Sec ...

  5. (转)SSH批量分发管理&非交互式expect

    目录 1 SSH批量分发管理 1.1 测试环境 1.2 批量管理步骤 1.3 批量分发管理实例 1.3.1 利用sudo提权来实现没有权限的用户拷贝 1.3.2 利用sudo提权开发管理脚本 1.3. ...

  6. 使用ssh公钥实现免密码登录

    使用ssh公钥实现免密码登录 ssh 无密码登录要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例. 有机器A(10.207.160.34),B(10 ...

  7. SSH批量分发管理

    ssh服务认证类型主要有两个: 基于口令的安全验证: 基于口令的安全验证的方式就是大家一直在用的,只要知道服务器的ssh连接账户.口令.IP及开发的端口,默认22,就可以通过ssh客户端登陆到这台远程 ...

  8. linux配置ssh公钥认证,打通root用户的免密码输入的scp通道

    1.ssh-keygen ssh-keygen是unix-like系统的一个用来生成.管理ssh公钥和私钥的工具. 2.用法 常用的重要的选项有: -b num   指定生成多少比特长度的key,单位 ...

  9. Ubuntu使用ssh公钥实现免密码登录

    ssh 无密码登录要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,下面我以Ubuntu为例. 有机器A(10.0.2.1),B(10.0.2.100).现想A通过ssh免密 ...

随机推荐

  1. 2015最新Android学习线路图

    Android是一个以Linux为基础的半开源操作系统,主要用于移动设备,由Google和开放手持设备联盟开发与领导.据2011年初数据显示仅正式上市两年的操作系统Android已经跃居全球最受欢迎的 ...

  2. Minicom串口工具安装及配置

    Minicom串口工具安装及配置 1. 简述 嵌入式开发多采用串口线连接电脑进行开发及调试. 2 安装及配置串口工具(以Minicom为例) Tiny4412开发板提供的有RS232电平的DB9公头接 ...

  3. 【Android测试工具】Android抓包解析全过程

    需求原因 在android开发中,遇到socket编程,无法从log日志中查看到与之通讯的socket发送和返回的数据包是什么,这里介绍一个工具,tcpdump工具和wireshark工具查看抓到的内 ...

  4. linux 更改用户的默认shell

    由于卸载了zsh.导致用户的bash没有更新 用户无法登录.后来通过grup更改.修改/etc/passwd中的用户的shell成功 将下面的红色的更改成bash即可. root:x:::root:/ ...

  5. Linux 系统裁剪笔记1

    1.什么裁剪? 本篇文章的主要目的是让笔者和读者更深的认识Linux系统的运作方式,大致内容就是把Linux拆开自己一个个组件来组装,然后完成一个微型的Linux系统.下面,让我们来实现吧..写的不好 ...

  6. 错误代码: 1052 Column 'stu_id' in field list is ambiguous

    1.错误描述 1 queries executed, 0 success, 1 errors, 0 warnings 查询:select stu_id, (SELECT stu_name FROM t ...

  7. 获取JSON对象的属性名称

    1.问题背景 一个json对象,是以键值对组成,通过循环json对象,获取json对象中的属性名称 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD ...

  8. HTML5中的checkbox

    HTML5中的checkbox 1.选中checkbox (1)<input type="checkbox" checked/> (2)<input type=& ...

  9. VMware vSphere学习整理

    知识点整理 内存选择 一般来说,每个虚拟机需要的内存在1~4GB甚至更多,还要为VMware ESXi预留一部分内存 2个6核的2U服务器配置64GB内存,4个6核或8核心的4U服务器配置128GB或 ...

  10. freemarker自定义标签(二十一)

    一,讲解一 1.自定义标签说明 宏变量存储模板片段可以被用作自定义指令macro 2.示例说明 <html> <head> <meta http-equiv=" ...