ICode9

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

Linux之远程管理服务ssh

2021-06-28 22:30:04  阅读:188  来源: 互联网

标签:公钥 远程管理 ssh key Linux root 连接 SSH


文章目录


1. SSH服务介绍说明

SSH是Secure Shell Protocl的简写, IETE网络工作小组制定,在进行传输之前SSH先对联机数据包通过加密技术进行加密处理,加密后在进行数据传输,保证了数据的安全性。


1.1 SSH服务连接工作原理(数据加密)

私钥: 钥匙

公钥: 锁头
第一个步骤: 客户端  			执行远程连接命令
第二个步骤: 客户端  服务端    	建立三次握手过程
第三个步骤: 服务端            	让客户端进行确认是否接收服务端公钥信息
第四个步骤: 客户端            	进行公钥确认,接收到公钥信息
第五个步骤: 服务端            	让客户端确认登录用户密码信息
第六个步骤: 客户端             	进行密码信息确认
第七个步骤: 客户端  服务端    	远程连接建立成功

私钥和公钥作用:

  1. 利用私钥和公钥对数据信息进行加密处理
  2. 利用公钥和私钥进行用户身份认证

基于密码的方式进行远程连接: 公钥和私钥只能完成数据加密过程
基于秘钥的方式进行远程连接: 公钥和私钥可以完成身份认证工作

1.2 SSH远程连接的方式

  • 基于口令的方式进行远程连接 连接比较麻烦 (连接不安全)
  • 基于秘钥的方式进行远程连接 连接方便(连接比较安全)

基于秘钥方式连接过程(原理):

1. 客户端(管理端)    执行命令创建秘钥对
2. 客户端(管理端)    建立远程连接(口令),发送公钥信息
3. 客户端(管理端)    再次建立远程连接
4. 服务端(被管理端)  发送公钥质询信息(你要是能打开我的锁头吗)
5. 客户端(管理端)    处理公钥质询信息(钥匙将锁头打开),将质询结果返回给服务端
6. 服务端(被管理端)  接收到质询结果,建立好远程连接

SSH实现基于秘钥连接的部署步骤:

第一步:管理端创建秘钥对信息

[root@client /]# ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
SHA256:14RqxBWSA18GohHmF62aQdeWqtRl2lAKuUSbXpbV74Y root@client
The key's randomart image is:
+---[DSA 1024]----+
|   .*o+====.     |
|   o+*oOX=..     |
|   o=+*X+....    |
|   .++=... o.    |
|   ..=  S .o.    |
|    +  . .E o    |
|           .     |
|                 |
|                 |
+----[SHA256]-----+

第二步:管理端需要将公钥进行分发

[root@client /]# ssh-copy-id -i /root/.ssh/id_dsa.pub root@192.168.10.133
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_dsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.10.133's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@192.168.10.133'"
and check to make sure that only the key(s) you wanted were added.

第三步:进行远程连接测试

[root@client /]# ssh 192.168.10.133
Last login: Mon Jun 28 18:56:22 2021 from 192.168.10.1
[root@server ~]#  

2. 批量管理多台主机

编写脚本进行批量分发公钥

[root@server ~]#  vim fenfa_pub_key.sh
#!/bin/bash
for ip in {1..100}
do
   echo "==================== host 172.16.1.$ip pub-key start fenfa ==================== "
   sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.$ip "-o StrictHostKeyChecking=no" &>/dev/null
   echo -e "host 172.16.1.$ip fenfa success."
   echo "==================== host 172.16.1.$ip fenfa end ==================== "
   echo ""
done 

2.1 分发公钥检查脚本(批量管理脚本) — 串型批量管理

[root@server ~]# cat check_pub_key.sh 
#!/bin/bash
CMD=$1
for ip in {7,31,41}
do
   echo "==================== host 172.16.1.$ip check ==================== "
   ssh 172.16.1.$ip $CMD 
   echo ""
done 

3. SSH远程服务防范入侵的案例

  1. 用密钥登录,不用密码登陆
  2. 防火墙封闭SSH,指定源IP限制(局域网、信任公网)
  3. 开启SSH只监听本地内网IP(ListenAddress 192.168.10.133)
  4. 尽量不给服务器外网IP
  5. 最小化(软件安装-授权)
  6. 给系统的重要文件或命令做一个指纹
    /etc/passwd md5sum 11110000aaaabbbb 监控
    inotify /bin 监控
  7. 给他锁上 chattr +i

标签:公钥,远程管理,ssh,key,Linux,root,连接,SSH
来源: https://blog.csdn.net/weixin_44676934/article/details/118311037

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

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

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

ICode9版权所有