openssh是工作在tcp协议22端口的一个安全的远程登录。
客户端组建
ssh,配置文件:/etc/ssh/ssh_config
用法:ssh [user@]host [COMMAND]
ssh [-l user] host [COMMAND]
-p port:远程服务器监听的端口
-X:允许使用图形界面
密钥认证
1.在客户端生成密钥对儿
ssh -t rsa [-P '密码'] [-f "~/.ssh/id_rsa"]
2.把公钥传输至远程服务器对应用户的家目录
ssh-copy-id [-i [identity_file]] [user@]host
scp命令:
scp [optins] SRC... DEST
两种形式:
PULL:scp [optins] [user@]host:/file /file
PUSH:scp [optins] /file [user@]host:/file
常用选项:
-r:递归
-p:保持原文件的属性信息
-q:静默模式
-P port:指明端口
服务器端
sshd,配置文件:/etc/ssh/sshd_config
常用选项:
port :端口
ListenAddress :监听地址
PermitRootLogin :是否允许远程登录root
限制可登录用户的办法:
AllowUsers user1 user2...(白名单)
AllowGroups
ssh服务的最佳实践
1.不要使用默认端口;
2.禁止使用protocol version 1;
3.限制可登录用户;
4.设定空闲会话超时时长;
5.利用防火墙设置ssh访问策略;
6.仅监听特定的IP地址;
7.基于口令认证时,使用强密码策略;
# tr -dc A-Za-z0-9_ < /dev/urandom | head -c 30| xargs
8.使用基于密钥的认证;
9.禁止使用空密码;
10.禁止root用户直接登录;
11.限制ssh的访问频度和并发在线数;
12.做好日志,经常分析;