一.更换端口, 可以在一定程度上防止扫描攻击

  vim /etc/ssh/sshd_config

  将 port 一项从 22 更改为高位端口, 然后重启 ssh 服务

  systemctl restart sshd.service

二.禁止使用root账号登录, 允许使用root账号登录服务器是一个极其危险的行为!

  vim /etc/ssh/sshd_config

  MaxAuthTries 3    # 限制失败次数

    PermitRootLogin no # 禁止使用root账号登录

  重启 ssh 服务

三.关闭密码登录, 防止暴力攻击, 使用 非对称密钥对进行身份认证

  vim /etc/ssh/sshd_config

  RSAAuthentication  yes  # 开启RSA验证

  PubkeyAuthentication   yes  # 是否使用公钥验证

  AuthorizedKeysFile  .ssh/authorized_keys  # 保存公钥的文件的位置, 这里就是登录用户的家目录下的 .ssh目录, 可以根据自己的实际情况进行配置

  PasswordAuthentication  no  #禁止使用密码验证登陆

四.生成公钥私钥, 将公钥上传到服务器   

  1、确认服务器都已都已安装了ssh服务

  2、在本机上创建密钥对
    ssh-keygen
-
t rsa

    1).注意查看提示,如果出现提示系统已经生成了ssh-key,则不必生成

    2).如果需要重新生成ssh-key,所有的提示按enter键即可,也可以根据自己的需要输入自己的选项

    3).注意提示保存ssh-key的存放目

    4).完成以后进入到保存ssh-key的目录,
就可以看到id_rsa和id_rsa.pub文件

  3、把公钥的内容追加拷贝到服务器上登录用户的家目录下的.ssh目录下的authorized_keys
文件(具体将公钥追加拷贝到那个文件,
根据ssh的配置文件的实际配置而定)

  4、systemctl
restart sshd.service
 
#
重启ssh服务

再次使用ssh远程连接服务器, 发现已不需要输入密码进行验证

注意: 如果使用ssh进行远程登录时 使用了sudo 超级管理员权限, 那么私钥就是当前服务器的root用户的私钥, 所以,也就是说需要把当前服务器root用户的公钥上传到目标服务器,才可以使用 sudo 超级管理员权限, 否则仍然需要输入密码(如果开启了允许输入密码进行身份验证)

 

Linux SSH 连接安全设置的更多相关文章

  1. linux ssh连接超时断连设置

    以下均针对redhat6.5系统进行说明. 一.设置ssh超时断连 使用root用户,编辑/etc/profile文件,在 HOSTNAME='/bin/hostname' HISTIZE=30 后增 ...

  2. Linux - ssh 连接问题

    SSH 连接方式 ssh -p 22 user@192.168.1.209 # 从linux ssh登录另一台linux ssh -p 22 root@192.168.1.209 CMD # 利用ss ...

  3. linux ssh 连接设置

    ! 本文编辑中 centos ssh 无法连接

  4. VMware + LInux + Xshell 连接环境设置(心得体会)

    准备好VMware软件,和Linux 和xshell三款软件,下载和安装好,这里VMware是十二,Linux是CentOs 6 ,xshell是5 其实没有什么区别只要版本兼容就行,我们就可以实现远 ...

  5. 修改Linux SSH连接端口和禁用IP,安装DDoS deflate

    测试系统:centos7 修改连接端口 修改配置文件 vi /etc/ssh/sshd_config 去掉port 22的注释,添加新的端口配置 port your_port_num 自定义端口选择建 ...

  6. linux ssh连接不自动断开

    修改linux服务器ssh配置文件: vim /etc/ssh/ssh_config 修改两处的值为: ClientAliveInterval ClientAliveCountMax 使修改的ssh配 ...

  7. Linux ssh 密钥对登陆设置

    SSH通过密钥连接 ssh -i ~/miyao.pem root@server_ip 密钥权限要设置为仅root用户读写 chmod 600 ~/miyao.pem 密钥可添加到系统里,以后连接可除 ...

  8. linux自动连接校园网设置

    不知道有没有人用linux的时候碰到过校园网连接后,跳不出登录界面,即使手动输入也没有作用.写一个可能可行的方法: - 首先打开控制面板 选择网络代理 将代理中的选项设置为 估计现在就能自动弹出登录页 ...

  9. VMware + LInux + Xshell 连接环境设置

    一.安装好Centos后,打开设置: 网络连接四中模式桥接模式.NAT模式.仅主机和自定义模式: 1).桥接模式:更公司的局域网连接,等于另一台连接进公司的新电脑 2).NAT模式:与虚拟机使用的计算 ...

随机推荐

  1. windows7 安装 docker-compose

    这篇博客,默认你已经安装了docker,下面介绍如何安装docker-compose 1.访问docker-compose的git地址 2.找到最新版的docker-compose 3.打开Docke ...

  2. StringTable

    首先看这样一个面试题 // StringTable [ "a", "b" ,"ab" ] hashtable 结构,不能扩容 public ...

  3. [转帖]面试问Kafka,这一篇全搞定

    面试问Kafka,这一篇全搞定 https://os.51cto.com/art/201911/606207.htm 图片来自 Pexels Kafka 基础 消息系统的作用 大部分小伙伴应该都清楚, ...

  4. 第十五节:Asp.Net Core中的各种过滤器(授权、资源、操作、结果、异常)

    一. 简介 1. 说明 提到过滤器,通常是指请求处理管道中特定阶段之前或之后的代码,可以处理:授权.响应缓存(对请求管道进行短路,以便返回缓存的响应). 防盗链.本地化国际化等,过滤器用于横向处理业务 ...

  5. TP5多字段排序

    有业务需求如下: select * from table where id IN (3,6,9,1,2,5,8,7) order by field(id,3,6,9,1,2,5,8,7); 这里直入主 ...

  6. golang socket与Linux socket比较分析

    在posix标准推出后,socket在各大主流OS平台上都得到了很好的支持.而Golang是自带runtime的跨平台编程语言,Go中提供给开发者的socket API是建立在操作系统原生socket ...

  7. hbase-indexer官网wiki

    Home Requirements Getting Started Installation Tutorial Demo Indexer Configuration CLI tools Metrics ...

  8. docker搭建elasticsearch、kibana,并集成至spring boot

    步骤如下: 一.基于docker搭建elasticsearch环境 1.拉取镜像 docker pull elasticsearch5.6.8 2.制作elasticsearch的配置文件 maste ...

  9. Java之路---Day15(Collection类)

    2019-11-01-22:09:09 目录 1.Collection集合的概念 2.Collection集合常用方法 3.Iterator迭代器 4.增强for 5.Collection常用工具类 ...

  10. 【转载】C#中SqlConnection类的作用以及常用方法

    在C#的数据库编程中,SqlConnection类主要用于连接Sqlserver数据库,使用SqlConnection类的实例方法我们可以打开Sqlserver数据库连接以及获取数据完毕后关闭数据库连 ...