SSh远程管理

SSh远程管理

ssh服务的概述

什么是ssh

SSH是一个安全协议,在进行数据传输时,会对数据包进行加密处理,加密后在进行数据传输,确保了数据传输安全。

ssh服务作用

1.提供远程连接服务器的服务

2.对传输的数据进行加密

ssh相关命令

SSH有客户端与服务端,我们将这种模式称为C/S架构,ssh客户端支持Windows、Linux、Mac等平台。
在ssh客户端中包含 ssh|slogin远程登陆、scp远程拷贝、sftp文件传输、ssh-copy-id秘钥分发等应用程序。

1.远程连接命令

ssh root@39.104.203.184 -p 52022
ssh:命令
root:要用哪个用户连接(远端服务器的系统用户)
@:分隔符
39.104.203.184:远端主机的IP
-p:指定ssh的终端

[root@m01 ~]# ssh root@10.0.0.7
Last login: Fri Jul  9 19:12:25 2021 from 10.0.0.61
[root@web01 ~]# 

2.在远端机器上执行命令,不用连接过去

[root@m01 ~]# ssh root@10.0.0.7 'df -h'
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        19G  1.4G   18G   8% /
devtmpfs        476M     0  476M   0% /dev
tmpfs           487M     0  487M   0% /dev/shm
tmpfs           487M  7.7M  479M   2% /run
tmpfs           487M     0  487M   0% /sys/fs/cgroup
/dev/sda1       497M  120M  378M  25% /boot
tmpfs            98M     0   98M   0% /run/user/0

[root@m01 ~]# ssh root@10.0.0.7 'free -m'
              total        used        free      shared  buff/cache   available
Mem:            972          91         763           7         116         737
Swap:          1023           0        1023

3.远程拷贝(全量)走的是ssh协议

[root@web02 ~]# scp -rp /var/www/html root@10.0.0.41:/tmp
[root@backup ~]# ll /tmp/
drwxr-xr-x  3 root root 106 Jul  9 02:12 html
-r:递归拷贝
-p:保持文件的时间属性
-P(大写):指定端口
-l:限速

## 总结
1.scp通过ssh协议加密方式进行文件或目录拷贝。
2.scp连接时的用户作为为拷贝文件或目录的权限。
3.scp支持数据推送和拉取,每次都是全量拷贝,效率较低

SSH验证方式

img

创建秘钥对

[root@m01 ~]# ssh-keygen
[root@m01 ~]# ll ~/.ssh/
## 私钥(钥匙)
-rw-------. 1 root root 1679 Jul  9 18:48 id_rsa
## 公钥(锁)
-rw-r--r--. 1 root root  390 Jul  9 18:48 id_rsa.pub
## 记录身份,第一次登陆客户端需密码,第二次登陆无需密码
-rw-r--r--. 1 root root  682 Jul  9 19:12 known_hosts

## 将公钥发送给被管理端
[root@m01 ~]# ssh-copy-id  -i ~/.ssh/id_rsa.pub  root@10.0.0.8

-i:指定下发公钥的路径

## 被管理端服务器公钥
[root@web02 ~]# ll /root/.ssh/
# 公钥
-rw------- 1 root root 390 Jul  9 19:11 authorized_keys

ssh-copy-id这个命令做了哪些事

# 1.在被管理端家目录创建了一个.ssh的隐藏目录
[root@web02 ~]# mkdir /root/.ssh

# 2.将.ssh目录权限改为700
[root@web02 ~]# chmod 700 .ssh/
 
# 3.创建公钥存放的文件
[root@web02 .ssh]# vim authorized_keyssh-rsa 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCngoqU5oUWIiJtqw1e/MUwDLB7c/Br5L6I2fy6ri1KZyw3OuBd4Lv+5v3yNRlLW3ic5k8eFsJQhe6TSUHCE2GvIZUa6QgVpVBIKPFPypOYuBtFa4mPKTlSpIXxXqmDhdataU2Heur4sYC5zkgreiRtqu4+VjYxJ0EacH7Y1clQpCtRNrTW+szMMhBTlOhh5cEh9s/y2HDzBwH2/rZ5trbMyVbmwrugjhsz5ZPUu203bMt9sqNX80gkdvtEBCsf16Tu6f8b4xsST/yZgLV13hYiVFkJB+ESGM0/CTr1uc1JUDuLEVIb3AmyYNAc2KtiGdmaadalAORL7H2P0+tQr/a1 root@m01

# 4.修改公钥存放文件的权限
[root@web02 .ssh]# chmod 600 ~/.ssh/authorized_keys

ssh安全优化

SSH作为远程连接服务,通常我们需要考虑到该服务的安全,所以需要对该服务进行安全方面的配置。
1.更改远程连接登陆的端口
2.禁止ROOT管理员直接登录
3.密码认证方式改为密钥认证
4.重要服务不使用公网IP地址
5.使用防火墙限制来源IP地址

修改配置文件

[root@m01 ~]# vim /etc/ssh/sshd_config
## 端口
17 Port 6666
## 允许root登录
38 PermitRootLogin no
## 允许密码登录
65 PasswordAuthentication no
## GSS接口认证                    现在改动
79 GSSAPIAuthentication no
## 使用DNS的反向解析               现在改动                 
115 UseDNS no

## 重启ssh服务
[root@m01 ~]# systemctl restart sshd
posted @ 2021-08-07 10:16  平凡的人不平凡的事  阅读(160)  评论(0编辑  收藏  举报