前言
- 大多数企业服务器是通过远程登录的方式来进行管理的
- 当需要从一个工作站管理数以百计的服务器主机时,远程维护的方式将更占优势
一、SSH远程管理
1.1 SSH协议
- 为客户机提供安全的shell环境,用于远程管理
- 默认端口:TCP 22
1.2 OpenSSH服务
-
服务名称:sshd
-
服务端主程序:/usr/sbin/sshd
-
服务端配置文件:/etc/ssh/sshd_config
ssh_config:针对客户端
sshd_config:针对服务端
访问形式 | 端口号 |
---|---|
SSH:密文访问默认端口 | TCP:22,一般广域网 |
Telnet:明文形式的访问 | TCP 23,一般局域网 |
远程桌面 | 3389,图形化界面 |
名称 | 作用 |
---|---|
mstsc(cmd命令提示符输入mstsc,根据提示操作) | 微软中远程桌面的形式,只可一个用户一个终端登录,可复制文件,微软对微软 |
VNC | 跨终端远程软件 |
teanviewer | 远程访问软件 |
1.3 服务监听选项
- 服务监听选项
端口号,协议版本,监听IP地址
禁用反向解析
[root@localhost ~]# vim /etc/ssh/sshd_config ... #Port 22 '端口号可以修改' #AddressFamily any #ListenAddress 0.0.0.0 '监听地址可修改' #ListenAddress ::
1.4 用户登录控制
- 禁止root用户,空密码用户
- 登录时间,重试次数
- AllowUsers(白名单,仅允许,只有这些可以登录)
- DenyUsers(黑名单,仅拒绝,只有这些不行)
- AllowUsers不可与DenyUsers同时使用
[root@localhost ~]# vim /etc/ssh/sshd_config LoginGraceTime 2m PermitRootLogin yes StrictModes yes MaxAuthTries 6 MaxSessions 10 ... AllowUsers lisi admin@192.168.20.30 '仅允许lisi用户在终端192.168.20.30登录'
1.5 登录验证方式
-
密码验证:核对用户名,密码是否匹配
密钥对验证:核对客户的私钥,服务端公钥是否匹配
-
密钥对:包含公钥,私钥
公钥:服务器使用
私钥:客户保留
非对称秘钥:RSA
对称秘钥:3DES,AES
[root@localhost ~]# vim /etc/ssh/sshd_config PasswordAuthentication yes '是否使用密码' PermitEmptyPasswords no '禁止空密码' PasswordAuthentication yes '是否需要密码验证' PubkeyAuthentication yes '开启公钥验证' AuthorizedKeysFile .ssh/authorized_keys '指定公钥库位置'
二、使用SSH客户端程序
2.1 SSH客户端程序命令
- ssh命令–远程安全登录
命令基本格式 ssh user@host 例如 [root@55~]# ssh root@192.168.197.142 '以root用户登录对方主机' The authenticity of host '192.168.197.142 (192.168.197.142)' can't be established. ECDSA key fingerprint is SHA256:Eer6tAEbaZylH0v8F1nr+ShthK1rjZl3eRi7UTw4RX4. ECDSA key fingerprint is MD5:de:d7:cf:23:bd:8d:a1:02:ff:23:a2:4b:94:fe:e7:02. Are you sure you want to continue connecting (yes/no)? yes '输入yes' Warning: Permanently added '192.168.197.142' (ECDSA) to the list of known hosts. root@192.168.197.142's password: 输入对方密码' Last login: Thu Nov 21 17:37:59 2019 from 192.168.197.1 [root@66~]# 还有会开启 /etc/pam.d/su服务模块的情况,需要注意权限
- scp命令–远程安全复制
命令基本格式 格式一:scp user@host:file 1 file 2 格式二:scp file 1 user@host:file 2 [root@55 ~]# scp /etc/hosts root@192.168.197.142:/etc/hosts '将本机文件/etc/hosts以root权限复制到192.168.197.142中' root@192.168.197.142's password: hosts 或者 [root@55 ~]# scp root@192.168.197.142:/etc/hosts /etc/hosts1 root@192.168.197.142's password: hosts
- sftp命令–安全FTP上下载
命令基本格式 sftp user@host get:下载 put:上传 例如 [root@55 ~]# sftp root@192.168.197.142 root@192.168.197.142's password: Connected to 192.168.197.142. sftp> ls