openssh-install

openssh 安装

一、服务端

1、安装ssh

centos中默认已经安装,ubuntu中需要自己安装
yum -y install openssh-server

2、 SSH配置

Port    22                  #默认端口
ListenAddress IP            #监听服务器端的IP,ss -ntl 查看22端口绑定的iP地址
LoginGraceTime 2m           #登录时不输入密码时超时时间
HostKey                     # HostKey本地服务端的公钥路径
UseDNS no                   #禁止将IP逆向解析为主机名,然后比对正向解析的结果,防止客户端欺骗
PermitRootLogin yes         #是否允许root使用SSH远程登录
MaxAuthTries 6              #密码错误的次数6/2=3(MAN帮助中写明要除2)次后断开连接
MaxSessions 10              #最大的会话连接数(连接未登录的会话最大值,默认拒绝旧的连接未登录的会话)
StrictModes yes             #检查用户家目录中ssh相关的配置文件是否正确
PubkeyAuthentication yes    #是否使用基于key验证登录
AuthorizedKeysFile      .ssh/authorized_keys    #key验证登录的客户端公钥路径
PasswordAuthentication yes  #是否允许使用密码登录
PermitEmptyPasswords no     #用户使用空口令登录
GatewayPorts no             #启用网关功能,开启后可以将建立的SSH隧道(端口转发)共享出去
ClientAliveCountMax 3       #探测3次客户端是否为空闲会话,↓3*10分钟后断开连接
ClientAliveInterval 10      #空闲会话时长,每10分钟探测一次
MaxStartups 10:30:100       #start:rate:full;当连接但为进行认证的用户超过10个,drop30%(rate/full)的连接当连接但未登录的连接达到100个后,新建立的连接将被拒绝
Banner /path/file           #认证前输出的登录提示信息,指定文件路径
GSSAPIAuthentication no 
AllowUsers username         #白名单,如果白名单有用户只有白名单的用户可以登陆
DenyUsers                   #黑名单,被拒绝的用户,如果即允许又拒绝则拒绝生效
AllowGroups                 #组白名单
DenyGroups                  #组黑名单

3、ssh安全优化

SSH也可能成为DOS攻击的对象,例如恶意用户连接SSH但不输入密码进行验证,由于设置了MaxStartups会导致正常用户无法进行登录。针对此情况建议:
修改默认端口
    MaxStartups 调大一些例如 MaxStartups 100:30:1000
    LoginGraceTime 10 调整连接超时未10秒
    MaxSessions 10 设置连接但未登录的用户最大值为10

其他优化:
	限制可登录用户
    设定空闲会话超时时长
    充分利用防火墙设置ssh访问策略
    仅监听指定IP的ssh
    禁止使用空口令登录
    禁止使用root直接进行登录
    做好日志分析
    加强用户登录的密码口令

二、客户端

1、 安装

yum -y install openssh-clients

2、配置

全局配置文件:
	vim /etc/ssh/ssh_config
	
用户配置文件:
	vim ~/.ssh/config
	
Host 别名
  Hostname 主机名
  Port 端口
  User 用户名  

#会话复制
ControlMaster auto  
ControlPath  /tmp/ssh-%r@%h    

3、ssh使用

# ssh远程不询问YES:
ssh -o StrictHoshKeyChecking=no

# 远程挂载:
yum -y install fuse-sshfs
sshfs USERNAME@IP:DIR MOUNT-DIR


# 远程明文密码链接:
yum -y install sshpass
sshpass -p "password" ssh USERNAME@IP

# 嵌套ssh:
ssh -t user@IP1 ssh user@IP2


posted @   itk  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示