linux网络服务之SSH

983 阅读2分钟

SSH是什么

  • ssh是一种安全通道协议,主要用来实现字符界面的远程登录,远程复制功能

  • 对通信数据进行了加密处理,用于远程管理(加密,压缩)

ps

  • ssh 用的是tcp22端口
  • TELNET用的是23端口

SSH 客户端:Putty Xshell CRT

ssh服务的默认配置文件:/etc/ssh/sshd_config ssh客户端的配置文件是/etc/ssh/ssh_config

如何查看开机是否自启sshd

systemctl is-enabled sshd image.png

用户远程登录格式

ssh [-p 端口](端口不写就是默认22端口) [用户](用户不写就是当前用户)@服务端IP

image.png

配置PpenSSH 服务端

vim /etc/ssh/sshd_config image.png

image.png

image.png image.png

当我设置监听端口为223时

image.png image.png

配置ssh配置文件白名单和黑名单

image.png

scp远程复制

  • 上行复制 image.png
  • 下行复制

image.png image.png

配置密钥对验证

image.png 客户端和服务端是一对一的关系,不是指定的用户或者客户端登录是无效的

  1. 在客户端创建密钥对

ssh keygen -t rsa ecdsa dsa

  1. 把公钥文件导到ssh服务器

(1)手动 复制 公钥文件 id_rsa.pub的 内容 ,在服务端用户的家目录的 .ssh 目录中创建 authorized_keys文件并把客户端公钥文件粘贴复制到这个文件中

(2)自动 在客户端 ssh-copy-id-i 公钥文件 用户@服务端IP

  1. 在客户端 使用ssh 用户@服务端IP 登录服务端 使用密钥对私钥的密码进行验证

步骤 在客户端创建密钥对 image.png 将公钥文件上传至服务器

image.png 在客户端使用密钥认证

image.png

免交互

  • 在当前连接中实现免交互登录 ssh-agent bash ssh-add

  • 实现永久免交互 直接创建空密码的密钥来使用,就是上个实验

TCP Wrappers 访问控制

Tcp Wrappers 保护机制的两种实现方式

  1. 直接使用tcpd程序对其他服务程序进行保护,需要运行tcpd程序
  2. 由其他网络服务程序使用libwrap.so.* 链接库,不需要运行tcpd程序,此方法的应用更加广泛,也更有效率
  • /etc/hosts.allow 设置禁止访问tcp服务程序的策略

image.png

  • /etc/hosts.deny 设置禁止访问tcp服务程序的策略

image.png

当拿到一个新的虚拟机该怎么优化

  • 通过sudo授权管理添加普通用户,不用root用户
  • 定时更新服务器时间
  • 更改默认的ssh服务端口禁止root用户远程连接
  • 配置国内yum源
  • 关闭selinux及iptables
  • 配置文件描述符的数量
  • 精简关机启动服务
  • 内核参数优化
  • 更改字符集,用英文字符集,防止乱码
  • 锁定关键系统文件
  • 清空/etc/issue,去除系统及内核版本登录前的屏幕显示