Linux下SSH以及SSH秘钥
2024-08-28 09:14:00
一、基于秘钥方式实现远程连接
第一步:创建密钥对(在管理端服务器上操作)
中间的输入项可以直接回车
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
最新文章
- ACM: ICPC/CCPC Sudoku DFS - 数独
- 【转】Alchemy的使用和多项式批量计算的优化
- git创建本地分支
- Gulp-前端进阶A-2
- CodeForces 490C Hacking Cypher
- 基于memcached中命令分析函数tokenize_command改造的split函数
- (转)asp.net中Literal与label的区别
- 《python基础教程》笔记之 字典
- 玩转Android---事件监听篇---第2篇
- SQL STUFF函数 拼接字符串
- Luogu P2183 巧克力
- java I/O---复制文本文件
- iOS9 ReplayKit录制视频
- Linux机器学习软件配置
- 自制EF(iShare Demo版)
- nginx 403 forbidden
- Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十七):登录验证码实现(Captcha)
- Ansi与Unicode编码
- 前端和后端的数据交互(jquery ajax+python flask+mysql)
- discuz 不能上传头像提示can not write to the data/tmp folder
热门文章
- tp phpexcel 导出后台访问方法
- 论文笔记:(2019CVPR)PointConv: Deep Convolutional Networks on 3D Point Clouds
- Spring学习笔记-Hello Spring
- 手动实现instanceof函数
- Spring学习笔记-Bean
- 《手把手教你》系列技巧篇(十六)-java+ selenium自动化测试-元素定位大法之By xpath下卷(详细教程)
- XV6学习笔记(1) : 启动与加载
- oracle给system用户增加sysdba和sysoper 角色
- Python 赋值、浅拷贝、深拷贝之间区别
- 从零开始实现简单 RPC 框架 4:注册中心