ssh是什么
- ssh服务是Linux系统默认远程访问服务,使用SSH(安全会话主机)协议,监听TCP/22端口,是C/S架构的服务;同类型的协议有RDP(windows远程桌面)、Telnet(明文传输的一般用于网络设备管理的远程协议)、VNC(虚拟网络连接,可用于Windows、Linux、unix等系统远程桌面连接)。
- 架构:C/S
- 功能:借助ssh,开发人员可以很方便地连接远程或是局域网的其他电脑,直接在上面进行开发工作。
- 主配置文件:/etc/ssh/sshd_config
- 检查sshd服务的配置文件是否有误:sshd -t (无错误无输出,检查是否有误)、-T(输出所有生效的配置)
- 监听端口:22/TCP
- 软件包:openssh-clients(客户端软件,) openssh-server(服务端软件) openssh
- 安装ssh,红帽分支默认已经安装,Debian分支默认未安装
- 使用流程:安装,修改配置文件优化限制。
主配置文件优化
vi /etc/ssh/sshd_conf
ListenAddress 192.168.200.202 ##指定监听 IP,如网关中只监听内网
LoginGraceTime 2m ##链接的无操作超时时间
PermitRootLogin no ##禁用 root 使用 ssh,普通用户+su 完成特权配置
MaxAuthTries 6 #密码错误次数
MaxSessions 10 ##最大链接数量,多少用户同时登录
GSSAPIAuthentication no ##禁用 GSSAIP 认证方式加快 ssh 登录响应速度
GSSAPICleanupCredentials no ##禁用 GSSAPI
UseDNS no ##禁用 DNS 的解析
AllowUsers u01 u03 u02@192.168.200.254 ##只允许 u01 用户登录,DenyUsers 拒绝用户,不能同时使用,多个用户用空格隔开
echo "提示短语" >/opt/提示短语文件
sed -i "/Banner/a Banner /opt/提示短语文件" /etc/ssh/sshd_conf ##登陆时提示短语
- 配置文件优化后,检查配置文件是否正确:sshd -t
使用方法
- ssh 用户@IP
- ssh root@192.168.200.202 -->exit ##root是S端的root用户,如果省略用户以客户机当前用户尝试登陆,exit退出。
![](https://img-blog.csdnimg.cn/d5eb3503c5104cbdaa5507c38186aa43.png)
![](https://img-blog.csdnimg.cn/1ce1e48dc19549c69a7a9f313621135a.png)
-
-
- 创建秘钥对:ssh-keygen
- 上传公钥:ssh-copy-id 用户@服务端ip地址
- 记录曾经远程管理过的机器:known_hosts
- 默认存放公钥与私钥路径:/root/.ssh/
- 验证无密码登录
- scp上传与下载
- scp 本地文件 用户@IP:/远程目录 ##上传,用户必须对目录有写入权限
-
- scp 用户@IP:/远程文件 本地目录 ##下载,用户只需对远程文件有读取权限
- scp /var/ftp/tools/john-*.tar.gz root@192.168.200.202:/root/ ##上传操作
![](https://img-blog.csdnimg.cn/f2d448cfc1954f8499bb13aea8986cc6.png)
- 禁用scp的话需要卸载openssh-client
- sftp:跟ftp一样的功能只不过是使用ssl安全套壳加密数据使传输更加安全
- 登录其他:sftp 用户名@服务器
- put上传、get下载
![](https://img-blog.csdnimg.cn/c75d5d38724b44a9b8b52425e870be95.png)
- 禁用sftp修改配置文件注释132行:/etc/ssh/sshd_config
![](https://img-blog.csdnimg.cn/8c708897df2943f3b65a7ff214f8431d.png)
tcpwrappe控制
- tcpwrappe是什么
- tcpwrapper是linux提供小程序保护机制,只要程序支持TCPD或者libwrap.so库就可以被保护。
- tcpwrapper控制的流程
- 查看程序是否支持tcp控制:ldd 主程序 |grep libwrap
-
- 编辑:/etc/hosts.allow(允许)或者hosts.deny(拒绝)
- 策略语法:程序名:客户地址(可以ip、网段、域名或逗号隔开多个地址;ALL表示所有)
- 控制匹配流程:先检查hosts.allow(白名单)再检查hosts.deny(黑名单),如果都没有规则默认允许。
![](https://img-blog.csdnimg.cn/88eec0c1ccdd4e7eac41ac7aebf6a7e9.png)
![](https://img-blog.csdnimg.cn/f5bc35b8f63448f4a76df6e988855715.png)