远程管理服务ssh

实验环境:centos7.6,2G内存,50G硬盘大小,虚拟机服务端ip:172.16.1.61 客户端ip:172.16.1.7,172.16.1.41,172.16.1.31

SSh服务连接工作原理

1)客户端主动向服务端发起连接请求
2)服务端接收到信息后,将自己的公钥(/etc/ssh/ssh_host_ed25519_key.pub)发送给客户端
3)客户端会提示你是否(yes/no)连接,当输入yes后
4)客户端将服务端发过来的公钥进行存储,放在/root/.ssh/known_hosts
5).客户端将私钥与服务端发过来的公钥进行整合,生成密钥对,并发送给服务端
6).服务端收到客户端发过来的密钥对,用自己的私钥解密,此时加密完成,并告诉客户端可以连接了
7)客户端输入连接服务端的密码,然后连接

SSH远程连接方式:

a.基于口令的方式连接,密钥对只能完成数据加密过程,连接麻烦,还不安全
b.基于密钥的方式连接,密钥对可以完成身份认证过程,连接方便,比较安全

基于密钥的方式连接原理:

1)客户端 执行命令创造密钥对
2)客户端 建立远程连接(口令),发送公钥信息
3)客户端 再次建立远程连接
4)服务端 发送公钥质询信息
5)客户端 处理公钥质询信息,将信息返回给服务端
6)服务端 收到确认信息,建立连接

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

1)客户端创建密钥对信息:

ssh-keygen -t dsa

在这里插入图片描述
rsa只是其中一种加密方式,还有以下几种对密钥进行加密的方式
在这里插入图片描述
创建成功之后可以看到在/root/.ssh/目录下面多出了两个文件
在这里插入图片描述
2)客户端分发公钥:

ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.41
ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.31
ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.7

在这里插入图片描述
3)远程连接测试:ssh 172.16.1.41
可以看到连接成功了
在这里插入图片描述
4)编写脚本进行批量分发公钥

vim ssh_copy.sh
#!/bin/bash
for ip in 7 31 41
do
	ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.$ip
done

优化

1.免交互,进行公钥分发

1)安装软件

yum -y install sshpass

2)执行免交互式发送公钥命令

sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.31 

在这里插入图片描述
3)连接时不用输入yes/no

sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.31 "StrictHostKeyChecking=no"

4)当端口发生改变时的连接方式
sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.31 -p 1314 “StrictHostKeyChecking=no”

5)可以用过ssh不用登上查看其它服务器就能直接看到信息
在这里插入图片描述
在这里插入图片描述

SSH服务配置文件:/etc/ssh/sshd_config,里面重要的几个参数说明

Port 22 --修改服务端口信息
ListenAddress --监听地址,指定一块网卡能够接受远程访问连接请求,只能是本地网卡上有的地址
PermitEmptyPasswords no --是否允许远程用户使用空密码登陆,默认不允许
PermitRootLogin yes/no --是否禁止root用户远程连接主机,建议no,不禁止
GSSAPIAuthentication --会对IP地址继续反解析,导致连接较慢,不用的时候关闭
UseDNS no --是否开启反向DNS解析功能,建议关闭

SSH远程连接服务设置安全防范措施

1.采用密钥登陆,密钥登陆更安全
2.禁止root用户进行远程登陆,在上面的配置文件中,设为PermitRootLogin no
3.更改服务端口,改为自己知道的端口。在配置文件中的Port修改
4.防火墙关闭ssh,禁止外网连接,只允许内网,在配置文件中设置监听的ip地址,ListenAddress

scp用法说明

用法:
scp [参数] [原路径] [目标路径]
从本地复制到远程:

scp -rp 1.txt root@172.16.1.41:/home/1.txt

从远程复制到本地:

scp -rp root@172.16.1.41:/home/1.txt 1.txt

参数说明:

参数作用
-C允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p保留原文件的修改时间,访问时间和访问权限
-q不显示传输进度条
-r递归复制整个目录
-v详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-i --identity_file从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l --limit限定用户所能使用的带宽,以Kbit/s为单位。
P --port注意是大写的P, port是指定数据传输用到的端口号

sftp用法说明

1.连接:sftp ip地址
2.指令说明

指令说明
ls查看远程ftp服务器信息
cd查看远程ftp服务器信息
pwd查看当前服务器的路径
lls查看本地ftp客户端信息
lcd查看本地ftp客户端信息
lpwd查看远程服务器的路径
get下载信息,从远程服务器,下载到本地
put上传信息,从本地服务器上传到远程
help查看命令帮助
bye退出ftp连接

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值