当前位置: 首页 > news >正文

SSH远程管理常用的几种配置

一、关于SSH(Secure Shell)

1、SSH是一种安全性通道协议,主要用来实现字符界面的远程登录、远程复制等功能。
2、SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。
3、与早期的telnet(远程登录)、rsh(Remote Shell,远程执行命令)、rcp(Remote File Copy,远程复制)等应用相比,SSH协议提供了更好的安全性。
4、OpenSSH是实现SSH协议的开源软件项目,适用于各种UNIX、Linux操作系统。

二、配置OpenSSH服务端

1、首先确认安装客户端和服务端的程序
rpm -qa | grep open
SSH远程管理常用的几种配置
2、编辑OpenSSH的主配置文件
vi /etc/ssh/sshd_config
下面是配置文件中的一部分配置:

#LoginGraceTime 2m      ===登录宽限时间  
#PermitRootLogin yes     ===允许root登陆
#StrictModes yes         ===开启精确模式
#MaxAuthTries 6         ===最大授权尝试次数
#MaxSessions 10         ===最大连接数
#PermitEmptyPasswords no  ===禁止空密码用户

3、禁止root用户登录
38行 #PermitRootLogin yes 将其改为no
SSH远程管理常用的几种配置
重启服务客户端验证root用户登录
systemctl restart sshd
SSH远程管理常用的几种配置
4、允许tom和jack登录
在上述配置末加上允许列表:AllowUsers jack tom //允许Jack、tom登录
SSH远程管理常用的几种配置
添加tom和jack用户

useradd jack;echo 123123 |passwd --stdin jack
useradd tom;echo 123123 |passwd --stdin tom

SSH远程管理常用的几种配置
重启sshd服务验证登录(列举jack)
Win+r打开cmd输入
ssh -p 22 jack@192.168.80.100
SSH远程管理常用的几种配置
5、开启wheel组增加安全性
上述添加jack用户可以登录,且可以切换root用户,具有安全漏洞如下图:
SSH远程管理常用的几种配置
进入/etc/pam.d/su切换配置文件中开启wheel组
vi /etc/pam.d/su //在root用户下修改,否则无权限
SSH远程管理常用的几种配置
重启服务验证jack用户无法切换root
SSH远程管理常用的几种配置
6、公钥私钥验证
1).一个公钥对应一个私钥。
2).密钥对中,让大家都知道的是公钥,不告诉大家,只有自己知道的,是私钥。
3).如果用其中一个密钥加密数据,则只有对应的那个密钥才可以解密。
4).如果用其中一个密钥可以进行解密数据,则该数据必然是对应的那个密钥进行的加密。
vi /etc/ssh/sshd_config //root下更改
开启服务器的密钥验证选项:

PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

SSH远程管理常用的几种配置
systemctl restart sshd //重启服务
添加lisi用户绑定服务器上的tom

useradd lisi;echo "123123" | passwd --stdin lisi    //lisi用户作为客户端
su - lisi   //切换到lisi
ssh-keygen -t rsa   //采用rsa加密算法加密

SSH远程管理常用的几种配置
查看密钥对(id_rsa为私钥,id_rsa.pub为公钥成对出现)
ls /home/lisi/.ssh
SSH远程管理常用的几种配置
将公钥上传至tom服务器
ssh-copy-id -i id_rsa.pub tom@192.168.80.100
在服务器tom查看文件

su - tom
ls /home/tom/.ssh

SSH远程管理常用的几种配置
服务器关闭密码认证vi /etc/ssh/ssh_config 将passwordAuthentication yes改为no,重启服务,这样其他用户要想登录tom服务器必须将私钥发给他才能成功登录,否则无法登录。
7、免密登录:代理(不安全)
在客户端lisi用户下面配置

ssh-agent bash
ssh-add

输入密钥密码
代理成功!无密码直接登录服务器tom!
SSH远程管理常用的几种配置

转载于:https://blog.51cto.com/13871362/2325676

相关文章:

  • Nuxt 开发 - 项目初始化
  • 赖世雄:新中考英语听说满分冲刺 笔记
  • MariaDB数据基础应用
  • 百度小程序遇到的问题
  • 【总结整理】房产类---转自人人都是产品经理
  • Mac mojova 10.14.1 安装 Cocoapods
  • RabbitMQ的前世今生
  • SpringBoot服务器压测对比(jetty、tomcat、undertow)
  • HDU-1087-Super Jumping! Jumping! Jumping!(DP+上升子序列)
  • 比特币代码分析7 交易校验
  • rsync + inotify 数据实时同步
  • JQuery each循环跳出和结束
  • 从paxos到zookeeper 分布式一致性原理与实践
  • 「CH2101」可达性统计 解题报告
  • java websocket学习
  • 网络传输文件的问题
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • Akka系列(七):Actor持久化之Akka persistence
  • eclipse的离线汉化
  • ECS应用管理最佳实践
  • js写一个简单的选项卡
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • LeetCode18.四数之和 JavaScript
  • Redux 中间件分析
  • Vue全家桶实现一个Web App
  • Webpack 4 学习01(基础配置)
  • 闭包--闭包之tab栏切换(四)
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • - 概述 - 《设计模式(极简c++版)》
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 面试遇到的一些题
  • 使用权重正则化较少模型过拟合
  • 微信公众号开发小记——5.python微信红包
  • Spring Batch JSON 支持
  • 如何在招聘中考核.NET架构师
  • ​Java并发新构件之Exchanger
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • $.ajax中的eval及dataType
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (C语言)二分查找 超详细
  • (十八)三元表达式和列表解析
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (转)ABI是什么
  • (转载)Google Chrome调试JS
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET CORE Aws S3 使用
  • .NET Core 中的路径问题
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .Net 代码性能 - (1)
  • .Net下使用 Geb.Video.FFMPEG 操作视频文件
  • @selector(..)警告提示
  • [14]内置对象
  • [AIGC] Redis基础命令集详细介绍
  • [BUUCTF 2018]Online Tool