一、基于秘钥方式实现远程连接

第一步:创建密钥对(在管理端服务器上操作)

中间的输入项可以直接回车

ssh-keygen -t dsa

第二步:分发公钥(在管理端服务器执行)

这个步骤需要输入一个yes和被管理的服务器密码

ssh-copy-id -i /root/.ssh/id_dsa.pub root@10.0.0.102

# 说明:将生成的公钥发放到将要管理的服务器上,例如上述root@10.0.0.102

第三步:验证

1、可以查看对应的秘钥信息

(1)查看管理端服务器

(2)查看被管理端服务器

2、验证连接

(1)方式1:直接连接

(2)方式2:执行命令

二、分发公钥时实现免交互

目的:原本分发公钥时,需要输入一次yes和password,实现不用输入yes和password,直接分发

1、去掉输入yes

加上参数 :-o StrictHostKeyChecking=no

ssh-copy-id -i /root/.ssh/id_dsa.pub 10.0.0.102 -o StrictHostKeyChecking=no

2、去掉输入密码

第一步:安装 sshpass

yum install -y sshpass

  

第二步:发放公钥

sshpass -p1 ssh-copy-id -i /root/.ssh/id_dsa.pub 10.0.0.102 -o StrictHostKeyChecking=no

三、管理多台主机,批量分发公钥

1、脚本

#!/bin/bash
for ip in {7,31,41}
do
echo "===============start fenfa_Key to 172.16.1.$ip========================="
sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.$ip -o StrictHostKeyChecking=no &>/dev/null
if [ $? -eq 0 ]
then
echo "===============pub_key fenfa ok with 172.16.1.$ip========================="
echo ""
else
echo "===============pub_key fenfa failed with 172.16.1.$ip========================="
echo ""
fi
done

  

2、检查公钥分发是否成功

#!/bin/bash
if [ $# -ne 1 ]
then
echo "Usage: $0 请在脚本后面输入一个命令信息"
exit 100
fi
for ip in {7,31,41}
do
echo "===============start fenfa_Key to 172.16.1.$ip========================="
ssh 172.16.1.$ip $1
done

  

四、关于SSH

1、ssh-copy-id 分发公钥原理

1、进行ssh远程连接
2、scp将公钥进行传输
3、被管理端将公钥保存到用户家目录中的.ssh目录中
4、修改公钥文件名称和权限 authorized_keys 600

  

2、远程端口发生变化后如何修改命令分发公钥

(1)加上端口号 -p PORT(centos7适用)

sshpass -p123456 ssh-copy-id -i /root/.ssh/id_rsa.pub 172.16.1.7 -o StrictHostKeyChecking=no -p 52113

  

(2)连接的时候也需要加上端口号

ssh -p52113 10.0.0.7 hostname

  

3、SSH服务配置文件

(1)配置文件的位置:

/etc/ssh/sshd_config

  

(2)SSH相关配置

#Port 22                     --- 指定服务端口号信息
#ListenAddress 0.0.0.0 --- 指定相应网卡可以接收远程访问请求 web
默认:主机上所有网卡都可以接收远程连接请求
监听地址信息,一定是本地网卡上有的地址信息 ******

#PermitEmptyPasswords no --- 是否允许空密码登录
#PermitRootLogin yes --- 不允许root用户登录
115 #UseDNS yes --- 是否进行DNS反向解析 no
79 GSSAPIAuthentication yes --- 是否开启GSSAPI no

  

4、SSH密钥对的种类

ssh-keygen -t dsa

ssh-keygen -t rsa

5、扫描网站端口信息

安装:
yum install -y nmap 扫描:
nmap -p 1-65535 www.baidu.com

  

Linux下SSH以及SSH秘钥的更多相关文章

  1. Linux下ftp和ssh详解

    学习了几天Linux下ftp和ssh的搭建和使用,故记录一下.学习ftp和ssh的主要目的是为了连接远程主机,并且进行文件传输.废话不多说,直接开讲! ftp服务器 1. 环境搭建 本人的系统是Arc ...

  2. Linux ssh服务开启秘钥和密码认证

    问题描述: 实现Linux秘钥和密码同时认证 解决方案: vim /etc/ssh/sshd_config 基本参数: PermitRootLogin yes #允许root认证登录 Password ...

  3. Hadoop中ssh+IP、ssh+别名免秘钥登录配置

    1.为什么要进行 SSH 无密码验证配置? Hadoop运行过程中需要管理远端Hadoop守护进程,在Hadoop启动以后,NameNode是通过SSH(Secure Shell)来启动和停止各个Da ...

  4. SSH公/私秘钥的生成及使用

    如果使用GitHub比较多的朋友,对SSH Key肯定也不陌生,当我们SSH进行代码的pull&push时,往往需要我们配置SSH Key. 如果Linux用的多朋友,肯定对SSH Key都很 ...

  5. git乌龟http/https以及ssh clone的秘钥配置永久免密码登录设置

    1.安装 安装Git 安装TortoiseGit 乌龟客户端 首先下载安装一个git客户端这个就不多说了基本就是next一直到底 安装后首次新建一个项目project在git服务器上 2.配置 1.注 ...

  6. SSH配置免秘钥登录

    一.  SSH 配置免秘要登录 配置SSH 免秘要登录,虽然就那么几步,但总是会出现点小问题,今天就做下记录.SSH 免秘钥就是让两台机器相互信任,不需要输入密码就能相互登录.配置相互信任就是把各自的 ...

  7. ssh设置免秘钥登录

    系统:CentOS7.2 需求:A服务器的fab用户需要使用www用户免秘钥登录到B服务器 换句话说,就是在A服务器的fab用户下,ssh    www@B服务ip   -p  端口  ,然后登录过去 ...

  8. linux下怎么查看ssh的用户登录日志

    linux下登录日志在下面的目录里: cd /var/log 查看ssh用户的登录日志: less secure linux日志管理: 1. 日志简介 日志对于安全来说,非常重要,他记录了系统每天发生 ...

  9. 用了一天的时间,linux下expect实现ssh自动登录服务器记,鄙视下网上各种抄来抄去残段子

    因为要对客户方的快30个项目进行特别有顺序的重启,所以不得不想办法写个脚本,网上看了不少段子.真是残缺的可以.没有一段是可以正常运行的.我来按顺序记录一下 脚本的本身 使用expect实现自动登录的脚 ...

  10. centos ssh免密码秘钥登录

    假设从A主机ssh登录B主机,用秘钥代替密码,步骤如下: 1.在A主机上执行:ssh-keygen -t  rsa 一切默认,不用输入密码,生成两个文件: /root/.ssh/id_rsa /roo ...

随机推荐

  1. 论文笔记:(CVPR2019)PointWeb: Enhancing Local Neighborhood Features for Point Cloud Processing

    目录 摘要 一.引言 二.相关工作 3D数据表示 点云深度学习 三.我们的方法 3.1 自适应特征调整(AFA)模块 3.1.1 影响函数fimp 3.1.2 关系函数frel 3.1.3 逐元素影响 ...

  2. Hadoop 3.1.1 - 概述 - 集群安装

    Hadoop 集群安装 目标 本文描述了如何从少数节点到包含上千节点的大规模集群上安装和配置 Hadoop 集群.如果只是为了尝试,你可以先从单台机器上安装开始(参阅单节点安装). 本文并不包含诸如安 ...

  3. Hadoop 3.1.1 - 概述 - 总览

    Apache Hadoop 3.1.1 和之前发布的 3.0.X 版本线相比,Apache Hadoop 3.1.1 吸收了许多重要的改进. 总览 建议用户阅读完整的版本说明.本文提供了对主要变动的总 ...

  4. Oracle数据泵导入的时候创建索引是否会使用并行?

    一.疑问,Oracle数据泵导入的时候创建索引是否会使用并行? 某客户需要使用数据泵进行迁移,客户咨询导入的时间能不能加快一点. 那么如何加快导入的速度呢? 多加一些并行,那么创建索引内部的索引并行度 ...

  5. 并发编程——synchronized关键字的使用

    前言 我们一般对共享数据操作的时候,为了达到线程安全我们会使用synchronized关键字去修饰方法或者代码块.那么今天我们就来讲一讲synchronized关键字的使用. 专栏推荐: 并发编程专栏 ...

  6. Python脚本文件中使用中文

    Python做图形用户界面(GUI)开发时经常要在界面上显示中文,需要做如下处理(详见[1]和[2]2.3节): 在py文件的首行写上:# -- coding:utf-8 -- 保存py文件时要存为u ...

  7. Spring MVC+javamail实现邮件发送

    Spring MVC+javamail实现邮件发送 开启邮箱的POP3/SMTP服务(这里以QQ邮箱举例) 设置 --> 账户 -- > 开启POP3/STMP服务,然后得到一个授权码. ...

  8. Nginx搭建与相关配置

    目录 一.Nginx简介 1.1 概述 1.2 Nginx与Apache的差异 二.编译安装Nginx服务 2.1 将nginx软件包传到主机/opt目录下 2.2.安装依赖包 2.3.添加模块编译安 ...

  9. Python语言系列-09-socket编程

    简介 软件开发的架构 1.C/S架构(client-server) 2.B/S架构 (browser-server) 网络基础概念 网络三要素: 1.ip 2.port 3.通信协议:TCP.UDP ...

  10. MySQL索引篇之索引存储模型

      本文重点介绍下索引的存储模型 二分查找   给定一个1~100的自然数,给你5次机会,你能猜中这个数字吗? 你会从多少开始猜?   为什么一定是50呢?这个就是二分查找的一种思想,也叫折半查找,每 ...