SSH远程管理


前言

SSH (Secure Shell) 是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH为建立在应用层和传输层基础上的安全协议。(不安全)

一、SSH数据传输原理

SSH客户端与服务端是通过网络来进行数据文件传输的,数据传输是加密的,可以防止信息泄露,数据传输是压缩的,可以提高传输速度。(看看就行)

SSH客户端(远程连接工具): Putty、Xshell、CRT、MobaXterm、 FinalShell
SSH服务端(接受远程连接机器): OpenSSH (c/s架构)

sshd服务默认使用的是TCP的22端口
sshd服务的默认配置文件是/etc/ssh/sshd_ config

ssh_ config和sshd_ config(服务端比较多) 都是ssh服务器的配置文件,二者区别在于前者是针对客户端的配置文件,后者则是针对服务端的配置文件。
(我们修改的话修改的是服务端sshd_config)
(配置文件中带有“d”的一般都是服务端配置文件,d全程daemon,守护进程)

二.配置OpenSSH服务端

1.SSH服务及配置文件

在centos7中,OPENSSH服务器由openssh、openssh-server等软件包提供(默认已安装),并已将sshd添加为标准的系统服务。
sshd服务的配置文件默认位于/etc/ssh/sshd_config

查看配置文件

[root@yzq ssh]# rpm -qc openssh-server 
/etc/pam.d/sshd
/etc/ssh/sshd_config
/etc/sysconfig/sshd

2.服务监听选项

sshd服务使用的端口默认为TCP22端口,可修改,并且可以指定监听服务的IP地址,SSH协议的版本V2比V1的安全性要更好,禁用DNS反向解析可以提高服务器的响应速度

[root@yzq ssh]# vim sshd_config 

在这里插入图片描述
#Port 22 //监听端口
#ListenAddress 0.0.0.0 //监听地址
#ListenAddress :: //监听地址V6
#UseDNS yes //启用DNS反向解析

3.用户登录控制

ssh服务支持两种验证方式:
1.密码验证:对服务器中本地系统用户的登录名称、密码进行验证。简便、但可能会被暴力破解
2.密钥对验证:要求提供相匹配的密钥信息才能通过验证。通常先在客户端中创建一对密钥文件(公钥、私钥),然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥、私钥进行加密/解密关联验证,大大增强了远程管理的安全性。该方式不易被假冒,且可以免交互登录,在Shell 中被广泛使用。

对称密钥和非对称密钥
非对称密钥:RSA,创建出一个公钥,一个私钥,验证时私钥必须和公钥对应匹配才允许登录、交互,否则拒绝
PS:公钥和私钥实际而言就是两个文件

4.密钥对验证

当密码验证和密钥验证都启用时,服务器优先使用密钥对验证。视情况开启

[root@yzq ssh]# vim sshd_config 

在这里插入图片描述

5.远程登录

一台机器远程登录另一台机器
ssh root@ip地址(本机地址192.168.28.10远程连接192.168.28.200)

[root@yzq ~]# ssh root@192.168.28.200
The authenticity of host '192.168.28.200 (192.168.28.200)' can't be established.
ECDSA key fingerprint is SHA256:H0NvnN/I5R8RP8iK45FJ8w3YBtSmIzPgR6vRTffgu4U.
ECDSA key fingerprint is MD5:57:8d:db:58:e9:cd:b8:e1:dc:0b:0b:2e:e1:40:8a:c0.
Are you sure you want to continue connecting (yes/no)? yes               Warning: Permanently added '192.168.28.200' (ECDSA) to the list of known hosts.
root@192.168.28.200's password: 
Last failed login: Wed Jul 20 17:08:38 CST 2022 from :0 on :0
There was 1 failed login attempt since the last successful login.
Last login: Wed Jul 20 10:29:39 2022

使用ifconfig查看ip,现在已在192.168.28.200的机器上

[root@yzq ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.28.200  netmask 255.255.255.0  broadcast 192.168.28.255

想要放回原来的主机只需要exit退出叠加环境

[root@yzq ~]# exit
登出
Connection to 192.168.28.200 closed.
[root@yzq ~]# ifconfig 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.28.10  netmask 255.255.255.0  broadcast 192.168.28.2

6.建立密钥对

每次输入密码比较麻烦,也不安全,此时可建立密钥对
ssh-keygen -t rsa 建立非对称密钥对
ssh-keygen 建立密钥对
-t 类型
rsa 非对称
在这里插入图片描述
到密钥保存位置
在这里插入图片描述

7.推送密钥

ssh-copy-id root@192.168.28.200
密钥复制给哪个服务器
在这里插入图片描述
此时192.168.28.10远程登录控制192.168.28.200不需要输入密码

查看192.168.28.200的密钥文件,发现没有密钥存在
在这里插入图片描述
此时28.200主机远程登录控制28.10主机仍需要输入密码
在这里插入图片描述
说明密钥是单向的,如果需要两台主机相互登录控制可分别配置密钥

8.配置双向密钥

为192.168.28.200创建到192.168.28.10的密钥

[root@yzq .ssh]# ssh root@192.168.28.10
The authenticity of host '192.168.28.10 (192.168.28.10)' can't be established.
ECDSA key fingerprint is SHA256:PmUQJLPtOZJqJDxlsukkT0IA9N91nMCz16cf6wwm8i8.
ECDSA key fingerprint is MD5:80:ba:4c:6f:63:0f:0a:7c:98:4c:84:5b:e1:5d:5e:41.
Are you sure you want to continue connecting (yes/no)? ^C
[root@yzq .ssh]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.28.200  netmask 255.255.255.0  broadcast 192.168.28.255

配置步骤同上,此处不一一展示
配置结果如下
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值