SSH
用于安全访问远程服务器的协议
一,密码登录工作原理
服务器启动时,自己产生了一个密钥(768bits公钥),本地ssh客户端发送连接请求到ssh服务器,服务器检查连接点客户端发送的数据和ip地址 ,确认合法后发送密钥(768bits)给客户端,此时客户端将本地私钥(256bits)和服务器的公钥(768bits)结合成密钥对key(1024bits),发送给服务器,建立建立连接通过key-pair数据传输
二,密钥对登录(无密码连接)工作原理
- 加密技术
- RSA:既可数字签名,又可加密
- DSA:(digital signature algorithm)数字签名
- 命令
- ssh :远程访问
格式 ssh -p端口号 user@host - scp :远程拷贝
格式: scp -P端口号 -r(递归目录) -p(保留原文件修改时间) /目录/文件 user@host:/root/
- ssh :远程访问
- .ssh :存放秘钥文件
- authorized_keys:秘钥验证验证文件,存放秘钥
- id_rsa:秘钥对私钥
- id_rsa.pub:秘钥对公钥
- know_hosts :已知主机
- /etc/ssh/sshd_config:ssh配置文件
ssh-keygen //生成密钥对
//默认采用RSA加密,-t rsa或-t dsa制定加密算法
ssh-copy-id 用户名@目标主机ip地址
//copy公钥给目标主机,存放到authorized_keys(公钥库)
vim /etc/ssh/sshd_config
Port 22 //制定服务端口
Protocol 2 //启用SSH V2版协议
ListenAddress 192.168.2.50 //指定ssh监听的地址
//远程链接只能链接监听ip
PermitRootLogin no //禁止root远程登录
UseDNS no //不解析客户端地址
LoginGraceTime 1m //登录限时
MaxAuthTries 3 //连接最多认证次数
DenyUsers USER1 USER2
AllowUsers USER1@HOST USER2..
DenyGroups GROUP1 GROUP2
AllowGroups GROUP1 GROUP2
PsswordAuthentication yes //允许口令验证
PubkeyAuthentication yes //允许秘钥验证
AuthorizedKeysFile .ssh/authorized_keys
安全防护
- 变更监听端口
Port 30000 - 禁止root登录
PermitRootLogin no - 禁止使用密码登录
PsswordAuthentication no
//密钥登录 - ssh访问限制
AllowUsers USER1@HOST USER2… - 使用防火墙保护
只允许白名单ip访问ssh端口或禁止ssh端口对公网开放