ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux下SSH以及SSH秘钥

2021-08-06 14:32:11  阅读:256  来源: 互联网

标签:公钥 no ip 秘钥 SSH Linux root id 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 

  

 

标签:公钥,no,ip,秘钥,SSH,Linux,root,id,ssh
来源: https://www.cnblogs.com/zhangyh-blog/p/15108380.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有