目录
一、SSH远程管理
1. SSH概述
SSH(Secure Shell)协议
- SSH是一种安全通道协议,主要用来实现字符界面的远程登录,远程复制等功能。
- SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登陆时输入的口令。
OpenSSH
OpenSSH是实现SSH协议的开源软件项目,适用于各种UNIX、Linux操作系统。
- 服务名称:sshd
- 默认端口号:22
- 服务端主程序:/usr/sbin/sshd
- 服务端配置文件:/etc/ssh/sshd_config
- 客户端配置文件:/etc/ssh/ssh_config
2.SSH的优点
- SSH是较可靠,专为远程登录会话和其他网络服务提供安全性的协议
- 利用SSH协议可以有效防止远程管理过程中的信息泄露问题
- SSH最初是Unix系统中的一个程序,后来又迅速扩展到其他操作平台
- SSH在正确使用时可弥补网络中的漏洞
- 数据传输的过程是加密的,具有安全稳定的特点
- 数据传输的方式是压缩的,可以提高传输速度
3.配置OpenSSH客户端
- shd_config配置文件的常用选项设置
vi /etc/ssh/sshd_config
......
Port 22 #监听端口为 22
ListenAddress 0.0.0.0 #监听地址为任意网段,也可以指定OpenSSH服务器的具体IP
LoginGraceTime 2m #登录验证时间为 2 分钟
PermitRootLogin no #禁止 root 用户登录
MaxAuthTries 6 #最大重试次数为 6
PermitEmptyPasswords no #禁止空密码用户登录
UseDNS no #禁用 DNS 反向解析,以提高服务器的响应速度
AllowUsers zhangsan lisi wangwu@61.23.24.25
#只允许zhangsan、lisi、wangwu用户登录,且其中wangwu用户仅能够从IP地址为61.23.24.25的主机远程登录
DenyUsers zhangsan
#禁止某些用户登录,用法于AllowUsers类似(注意不要同时使用)
4.sshd服务支持的两种验证方式
密码验证
- 对服务器中本地系统用户的登录名称、密码进行验证。简便,但可能会被暴力破解
密钥对验证
- 有球提供相匹配的密钥信息才能通过验证。通常先在客户端中创建一对密钥文件(公钥、私钥),然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥、私钥进行加密\解密关联验证。能够增强安全性,且可以免交互登录
5. 使用SSH客户端程序
5.1 ssh - 远程登录
ssh "选项" "用户名"@"ip\名称"
例: ssh -p 1022 zhangsan@20.0.0.13
# "-p"指定端口号
5.2 scp - 远程复制
- 下行复制:
scp "用户名"@"ip/名称":"被复制的远程主机文件路径" "复制到的本机文件路径"
例:scp root@20.0.0.13:/etc/passwd /root/passwd10.txt
- 上行复制:
scp "被复制的本机文件路径" "用户名"@"ip\名称":&#