Linux之远程管理服务ssh
2021/6/29 7:20:59
本文主要是介绍Linux之远程管理服务ssh,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 1. SSH服务介绍说明
- 1.1 SSH服务连接工作原理(数据加密)
- 1.2 SSH远程连接的方式
- 2. 批量管理多台主机
- 2.1 分发公钥检查脚本(批量管理脚本) --- 串型批量管理
- 3. SSH远程服务防范入侵的案例
1. SSH服务介绍说明
SSH是Secure Shell Protocl的简写, IETE网络工作小组制定,在进行传输之前SSH先对联机数据包通过加密技术进行加密处理,加密后在进行数据传输,保证了数据的安全性。
1.1 SSH服务连接工作原理(数据加密)
私钥: 钥匙
公钥: 锁头 第一个步骤: 客户端 执行远程连接命令 第二个步骤: 客户端 服务端 建立三次握手过程 第三个步骤: 服务端 让客户端进行确认是否接收服务端公钥信息 第四个步骤: 客户端 进行公钥确认,接收到公钥信息 第五个步骤: 服务端 让客户端确认登录用户密码信息 第六个步骤: 客户端 进行密码信息确认 第七个步骤: 客户端 服务端 远程连接建立成功
私钥和公钥作用:
- 利用私钥和公钥对数据信息进行加密处理
- 利用公钥和私钥进行用户身份认证
基于密码的方式进行远程连接: 公钥和私钥只能完成数据加密过程
基于秘钥的方式进行远程连接: 公钥和私钥可以完成身份认证工作
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远程服务防范入侵的案例
- 用密钥登录,不用密码登陆
- 防火墙封闭SSH,指定源IP限制(局域网、信任公网)
- 开启SSH只监听本地内网IP(ListenAddress 192.168.10.133)
- 尽量不给服务器外网IP
- 最小化(软件安装-授权)
- 给系统的重要文件或命令做一个指纹
/etc/passwd md5sum 11110000aaaabbbb 监控
inotify /bin 监控 - 给他锁上 chattr +i
这篇关于Linux之远程管理服务ssh的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-04Linux系统上离线升级SSH服务的具体操作步骤-icode9专业技术文章分享
- 2024-06-0600-macOS和Linux安装和管理多个Python版本
- 2024-03-30[译]漫画SELinux概念
- 2024-03-29linux 移动文件
- 2024-03-28linux .so file
- 2024-03-28Linux 磁盘管理
- 2024-03-28Linux学习笔记(十三)磁盘管理(一):磁盘分区
- 2024-03-26linux 创建 文件
- 2024-03-25使用SecureCRT对Linux vim进行颜色设置
- 2024-03-202019-2020-12 20199317 《Linux内核原理与分析》 第十二周作业