Linux下SSH以及SSH秘钥
一、基于秘钥方式实现远程连接
第一步:创建密钥对(在管理端服务器上操作)
中间的输入项可以直接回车
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秘钥的更多相关文章
- Linux下ftp和ssh详解
学习了几天Linux下ftp和ssh的搭建和使用,故记录一下.学习ftp和ssh的主要目的是为了连接远程主机,并且进行文件传输.废话不多说,直接开讲! ftp服务器 1. 环境搭建 本人的系统是Arc ...
- Linux ssh服务开启秘钥和密码认证
问题描述: 实现Linux秘钥和密码同时认证 解决方案: vim /etc/ssh/sshd_config 基本参数: PermitRootLogin yes #允许root认证登录 Password ...
- Hadoop中ssh+IP、ssh+别名免秘钥登录配置
1.为什么要进行 SSH 无密码验证配置? Hadoop运行过程中需要管理远端Hadoop守护进程,在Hadoop启动以后,NameNode是通过SSH(Secure Shell)来启动和停止各个Da ...
- SSH公/私秘钥的生成及使用
如果使用GitHub比较多的朋友,对SSH Key肯定也不陌生,当我们SSH进行代码的pull&push时,往往需要我们配置SSH Key. 如果Linux用的多朋友,肯定对SSH Key都很 ...
- git乌龟http/https以及ssh clone的秘钥配置永久免密码登录设置
1.安装 安装Git 安装TortoiseGit 乌龟客户端 首先下载安装一个git客户端这个就不多说了基本就是next一直到底 安装后首次新建一个项目project在git服务器上 2.配置 1.注 ...
- SSH配置免秘钥登录
一. SSH 配置免秘要登录 配置SSH 免秘要登录,虽然就那么几步,但总是会出现点小问题,今天就做下记录.SSH 免秘钥就是让两台机器相互信任,不需要输入密码就能相互登录.配置相互信任就是把各自的 ...
- ssh设置免秘钥登录
系统:CentOS7.2 需求:A服务器的fab用户需要使用www用户免秘钥登录到B服务器 换句话说,就是在A服务器的fab用户下,ssh www@B服务ip -p 端口 ,然后登录过去 ...
- linux下怎么查看ssh的用户登录日志
linux下登录日志在下面的目录里: cd /var/log 查看ssh用户的登录日志: less secure linux日志管理: 1. 日志简介 日志对于安全来说,非常重要,他记录了系统每天发生 ...
- 用了一天的时间,linux下expect实现ssh自动登录服务器记,鄙视下网上各种抄来抄去残段子
因为要对客户方的快30个项目进行特别有顺序的重启,所以不得不想办法写个脚本,网上看了不少段子.真是残缺的可以.没有一段是可以正常运行的.我来按顺序记录一下 脚本的本身 使用expect实现自动登录的脚 ...
- centos ssh免密码秘钥登录
假设从A主机ssh登录B主机,用秘钥代替密码,步骤如下: 1.在A主机上执行:ssh-keygen -t rsa 一切默认,不用输入密码,生成两个文件: /root/.ssh/id_rsa /roo ...
随机推荐
- SpringCloud升级之路2020.0.x版-2.微服务框架需要考虑的问题
本系列为之前系列的整理重启版,随着项目的发展以及项目中的使用,之前系列里面很多东西发生了变化,并且还有一些东西之前系列并没有提到,所以重启这个系列重新整理下,欢迎各位留言交流,谢谢!~ 上图中演示了一 ...
- 复杂多变场景下的Groovy脚本引擎实战
一.前言 因为之前在项目中使用了Groovy对业务能力进行一些扩展,效果比较好,所以简单记录分享一下,这里你可以了解: 为什么选用Groovy作为脚本引擎 了解Groovy的基本原理和Java如何集成 ...
- 判断Windows系统是32位或64位并执行不同脚本命令
判断Windows系统是32位或64位并执行不同脚本命令 https://www.autoahk.com/?p=16549&preview=true https://www.cnblogs.c ...
- CF474D Flowers 题解
题目:CF474D Flowers 传送门 DP?递推? 首先可以很快看出这是一道 DP 的题目,但与其说是 DP,还不如说是递推. 大家还记得刚学递推时教练肯定讲过的一道经典例题吗?就是爬楼梯,一个 ...
- vue中rem的转换
1 function rems(doc: any, win: any): void { 2 let docEl = doc.documentElement, 3 resizeEvt = 'orient ...
- WinForm设置任务栏托盘程序
程序设计界面如下图所示: 1.在程序初始化加载的时候设置程序图标,具体code如下: private void Form1_Load(object sender, EventArgs e) { //t ...
- 攻防世界pwn高手区——pwn1
攻防世界 -- pwn1 攻防世界的一道pwn题,也有一段时间没有做pwn了,找了一道栈题热身,发现还是有些生疏了. 题目流程 拖入IDA中,题目流程如图所示,当v0为1时,存在栈溢出漏洞.在gdb中 ...
- BUU八月份水题记录
目录 [BJDCTF 2nd]fake google(SSTI) [BJDCTF2020]Easy MD5(md5注入) [ZJCTF 2019]NiZhuanSiWei(反序列化) [BJDCTF ...
- Alibaba-技术专区-RocketMQ 延迟消息实现原理和源码分析
痛点背景 业务场景 假设有这么一个需求,用户下单后如果30分钟未支付,则该订单需要被关闭.你会怎么做? 之前方案 最简单的做法,可以服务端启动个定时器,隔个几秒扫描数据库中待支付的订单,如果(当前时间 ...
- Java入门姿势【面向对象3】构造方法及其重载_方法的调用
上次我为大家写出啦"定义类与创建对象_了解局部变量",上篇文章代码可能较多,如没有了解透彻的话请打开下方文章在进行观看一下哦!! [Java入门姿势[面向对象2]定义类与创建对象_ ...