栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

ssh远程登录协议

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ssh远程登录协议

目录

        一、SSH基础概述

        1.1 概述

        1.2 工作原理

        二、模拟配置远程登录实验

        2.1ssh远程登录

        三、轻量级自动化运维工具Pssh

        四、总结


        一、SSH基础概述

        1.1 概述

        SSH(Secure Shell)是一种通用的、功能强大的、基于软件的网络安全解决方案。计算机每次向网络发送数据时,SSH都会自动对其进行加密。其中包括用户登录时输入的用户口令,SSH 为建立在应用层和传输层基础上的安全协议。对数据进行压缩,加快传输速度。

        优点:

       · 数据传输是加密的,可以防止信息泄漏

       · 数据传输是压缩的,可以提高传输速度

        1.2 工作原理

        SSH利用了公钥加密/非对称加密来实现安全登录的,一般可以分为以下几个步骤:

        ·1 生成会话密钥:通过特定的加密方法加密生成,传输给所连接的主机。

        ·2 用户身份认证:   通过验证身份来对传输来的密钥进行解密验证实现的,这个过程中传输的所有数据都是通过上一步生成的密钥加密过的。

        ·3 数据加密:基于生成的会话密钥,进行数据加密的传输通讯

        流程:

        客户端主机A发起链接请求

        服务端主机B返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)

        客户端生成密钥对

        客户端用自己的公钥异或会话ID,计算出一个值Res,并用服务端的公钥加密

        客户端发送加密后的值到服务端,服务端用私钥解密,得到Res

        服务端用解密后的值Res异或会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥)

        最终:双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都会被加密

        二、模拟配置远程登录实验

        2.1ssh远程登录

        模拟配置:

[root@localhost ~]# systemctl stop firewalld   关闭防火墙
[root@localhost ~]# setenforce 0
[root@localhost ~]# ssh root@192.168.26.130   ##ssh+主机名+@+目标IP
The authenticity of host '192.168.26.130 (192.168.26.130)' can't be established.
ECDSA key fingerprint is SHA256:4W/n+YUuzw8uEB9oFdbheDHmFQr9v8V8Ou4NVH5fwtI.
ECDSA key fingerprint is MD5:2f:72:d6:8f:51:7b:a5:a8:df:d3:7a:8c:be:4f:26:a9.
Are you sure you want to continue connecting (yes/no)? y
Please type 'yes' or 'no': yes        ##yes进入登录
Warning: Permanently added '192.168.26.130' (ECDSA) to the list of known hosts.
root@192.168.26.130's password:             ##输入目标主机的密码
Last login: Tue Oct 12 13:58:59 2021 from 192.168.26.1
[root@localhost ~]# 

        如何确认是否登录成功

root@localhost ~]# ifconfig    ##查看网卡IP
ens33: flags=4163  mtu 1500
        inet 192.168.26.130  netmask 255.255.255.0  broadcast 192.168.26.255

       ftp远程登录

       命令格式:

        sftp +用户名+主机IP

        get +文件名=下载

        put+文件名=上传文件

[root@localhost ~]# sftp root@192.168.26.130   
root@192.168.26.130's password: 
Connected to 192.168.26.130.
sftp> ls
anaconda-ks.cfg            initial-setup-ks.cfg       下载                     公共                     
图片                     文档                     桌面                     模板                     
视频                     音乐   

        登录密钥配置

[root@localhost .ssh]# ssh-keygen -t ecdsa   设置ssh访问密码
Generating public/private ecdsa key pair.
Enter file in which to save the key (/root/.ssh/id_ecdsa):      密钥文件位置
Enter passphrase (empty for no passphrase):                     设置密码
Enter same passphrase again:                                    再次确认密码
Your identification has been saved in /root/.ssh/id_ecdsa.
Your public key has been saved in /root/.ssh/id_ecdsa.pub.
The key fingerprint is:
SHA256:vtQFsaqjkj8wRScQkS4yWjsqop0KpJHugYqlFpHk1VA root@localhost.localdomain
The key's randomart image is:
+---[ECDSA 256]---+
|  +*+E    .      |
| ...o..    o     |
|o.o. o    o      |
|+=o .    . .     |
|==.o    S   .    |
|*o=    o . .     |
|++o=  o o .      |
|O=+... o .       |
|@oooo.  .        |
+----[SHA256]-----+
[root@localhost .ssh]# ls            此时.ssh文件下有密钥文件
id_ecdsa  id_ecdsa.pub  known_hosts
[root@localhost .ssh]# 

[root@localhost .ssh]# ssh-copy-id -i id_ecdsa.pub root@192.168.26.111  将密钥文件导入
[root@localhost .ssh]# ssh root@192.168.26.111  ##再次请求连接
Enter passphrase for key '/root/.ssh/id_ecdsa':     ##输入之前设置的密钥访问密码

 (访问密钥,与用户密码无关,IP地址无关,只与密钥对有关)

        三、轻量级自动化运维工具Pssh

        修改yum仓库添加yum源

[root@localhost yum.repos.d]# vim CentOS-base.repo  修改这个文件并添加yum源

[epel]
name=epel
baseurl=https://mirrors.aliyun.com/epel/$releasever/x86_64         ##阿里云
        https://mirrors.cloud.tencent.com/epel/$releasever/x86_64    ##腾讯云
        https://mirrors.huaweicloud.com/epel/$releasever/x86_64    ##华为云
        https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/x86_64    ##清华云
gpgcheck=0

        清理缓存

[root@localhost bak]# yum clean all

        安装pssh环境

[root@localhost bak]# yum install pssh -y

(所有.repo结尾的文件都要在:yum.repo.d目录下)

         生成免密登录

[root@localhost bak]# ssh-keygen
一直回车
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:kj0t2ZT53ngj66DXZ81XuO6DdKYxH62V7i+g6+sz8CQ root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
|                 |
|           o     |
|          +      |
|       o = .     |
|      o S o .  o.|
|       .Eo..=o=.+|
|         =.++X=B.|
|         .*.++Oo+|
|        .+=*o=+++|
+----[SHA256]-----+

        将公钥导入其他的服务器

[root@localhost .ssh]# ssh-copy-id 192.168.26.130

         配置管理多台服务器

[root@localhost .ssh]# pssh -H "192.168.26.100 192.168.26.130"-i cat /etc/passwd
(pssh -H +连接的IP地址 + -i详细信息 +配置命令)
[1] 17:18:51 [SUCCESS] 192.168.26.100
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt

[2] 17:18:51 [SUCCESS] 192.168.26.130
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt

        四、总结

        如果ssh下次请求连接时,就不会输入密码,如果需要限制用户进行跳板登录时可以将修改sudo命令修改权限。只有用ssh连过后根目录下会生成名为 .ssh 的文件 存在着连接主机的信息

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/321515.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号