在linux系统操作中,经常需要连接其他的主机,连接其他主机的服务是openssh-server,它的功能是让远程主机可以通过网络访问sshd服务,开始一个安全shell,下文将介绍一些ssh服务的功能和安全方法。

1、主机的连接方式

连接其他主机的命令是"ssh 远程主机用户@远程主机ip",例如下图,连接"root@172.25.254.102"的主机。

如果是首次连接,将会出现下图输入,是因为连接陌生主机时需要建立认证关系,输入"yes"后输入远程主机用户密码即可完成连接。

上述命令是在对方主机上打开一个安全的shell,但是并不能打开图形工具,如果需要打开图形工具,则需要在上述命令后加"-x",即连接有图形的主机命令为"ssh 远程主机用户@远程主机ip -x"。

"ssh 远程主机用户@远程主机ip command"可以直接在远程主机运行某条命令,例如,输入"ssh root@172.25.254.102 touch /root/Desktop/file{1..10}",即表示在ip为172.25.254.102的主机root用户桌面下建立10个文件。

2、sshkey加密方式

为了主机的安全也为了特定主机连接的方便,通常使用sshkey加密方式,如下图,输入命令"ssh-keygen",按三下回车后即可生成一对公钥和私钥。新出现的文件"/root/.ssh/id_rsa"称作私钥,"/root/.ssh/id_rsa.pub"称作公钥。公钥相当于是锁,私钥相当于是钥匙。

在生成钥匙之后,输入命令"ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.102"对ip为172.25.254.102的主机上锁。可以对其他主机进行上锁,输入正确的密码即可。

用命令"scp /root/.ssh/id_rsa kiosk@172.25.254.2:/home/kiosk/.ssh/"将私钥发送给其他主机,并进行登陆验证。

3、提升ssh服务的安全级别

3.1、修改配置文件

输入命令"vim /etc/ssh/sshd_config"即可修改ssh的配置文件,其中,"PasswordAuthentication yes|no"表示是否开启密码认证,yes为支持,no为关闭,如果是no的情况,并且无私钥,则不能连接本台主机。

"PermitRootLogin yes|no"表示是否允许超级用户登陆。"AllowUsers username"表示用户白名单,只有在名单里的用户可以使用sshd建立shell。"DenyUsers username"表示用户黑名单,名单中的用户不能通过sshd建立shell。值得注意的是,如果黑名单和白名单中有用一个用户,则黑名单生效。

3.2、控制ssh客户端访问

如下图所示,输入命令"vim /etc/hosts.deny"并在其中输入"sshd:ALL"可以拒绝所有人连接sshd服务。

输入命令"vim /etc/hosts.allow"并且输入"sshd:172.25.254.2",则代表只允许ip为172.25.254.2的主机连接。也可以输入"sshd:ALL EXCEPT 172.25.254.2"表示只不允许ip为172.25.254.2的主机连接。

3.3、修改ssh登陆提示

输入命令"vim /etc/motd",在文件中输入需要作为提示的信息如下图所示,则在ssh连接成功时会自动显示出来。

以上就是主机间互相连接的服务openssh-serve的连接方式及其安全保护。

linux初学者-sshd服务的更多相关文章

  1. Linux中Sshd服务配置文件优化版本(/etc/ssh/sshd_config)

    Linux中Sshd服务配置文件优化版本(/etc/ssh/sshd_config) # $OpenBSD: sshd_config,v 1.93 2014/01/10 05:59:19 djm Ex ...

  2. Linux系统 SSHD服务安全优化方案

      # 1. 修改默认端口 #Port 22 # 2. 修改监听协议,只监听某个或某些网络协议 #AddressFamily any AddressFamily inet # 3. 修改ssh只监听内 ...

  3. Linux之sshd服务

    ---恢复内容开始--- ---恢复内容结束--- 一.linux中对服务管理与控制(以sshd为例) 1.什么是服务 可以用来给客户提供相关操作,对自己没有什么好处 2.用什么控制服务 系统初始化进 ...

  4. Linux中的sshd服务

    Linux中的sshd服务,主要用于pst终端,远程连接到linux服务中 看sshd服务状态 service sshd status 停止sshd服务 service sshd stop 启动ssh ...

  5. Linux系统的ssh与sshd服务

    当主机中开启openssh服务,那么就对外开放了远程连接的接口 ssh为openssh服务的客户端,sshd为openssh服务的服务端 远程管理工具ssh具有数据加密传输.网络开销小以及应用平台范围 ...

  6. 《linux就该这么学》第十一节课: 第九章,网卡绑定与sshd服务

    8.4.服务的访问控制列表 TCPwrappers是RHEL7中默认启用的流量监控程序,能够对服务做出允许或拒绝. TCPwrappers服务由两个文件控制:  /etc/hosts.allow    ...

  7. Linux系统管理命令-systemctl 和 sshd 服务

    一系统服务管理命令systemctl 开启一个服务 : systemctl start sshd 关闭一个服务: systemctl stop sshd 查看一个服务的状态: systemctl st ...

  8. linux初学者-iptables篇

     linux初学者-iptables篇 iptables是防火墙的一种,是用来设置.维护和检查linux内核的IP过滤规则的,可以完成封包过滤.封包重定向和网络地址转换(NAT)等功能. iptabl ...

  9. linux初学者-系统日志(一)

    linux初学者-系统日志(一) 系统日志可以记录系统的运行状态,如果运行故障,会说明错误的位置.所以对系统日志的了解和学习是非常有必要的. 1.系统日志的默认分类 系统日志会默认记录在以下地址中,不 ...

随机推荐

  1. Excel报表开发(本节主要讲述导出到Excel操作)

    一.Excel导入到GridView以及数据库操作比较简单,这儿不做过多讲解,需要注意的有二点: 1.设置IMEX=1将强制混合数据转换为文本. 2.解决Excel驱动程序默认读取8行:将" ...

  2. spring通过注解方式依赖注入原理 (私有成员属性如何注入)

    一.spring如何创建依赖的对象 用过spring的都知道我们在dao.service层加上@repository.@Service就能将这两个对象交给spring管理,在下次使用的时候使用@res ...

  3. java设计模式-原型(prototype)

    有时候创建对象是需要耗费很多资源,但是每个对象之间又有大量的重复.我们可以选择在创建好一个对象后,以之作为模板克隆出其他对象,稍作修改,即可用于其他地方. 需要实现Cloneable接口,重写clon ...

  4. 系列教程 之 Android开发之旅

    工作室持续推出Android开发系列教程与案例,供广大朋友分享交流技术经验,帮助喜欢Android的朋友们学习进步: 1. Android开发之旅(1) 之 Android 开发环境搭建 代码之间工作 ...

  5. Spark学习之路(十四)—— Spark Streaming 基本操作

    一.案例引入 这里先引入一个基本的案例来演示流的创建:获取指定端口上的数据并进行词频统计.项目依赖和代码实现如下: <dependency> <groupId>org.apac ...

  6. spring-boot-plus后台快速开发框架1.0.0.RELEASE发布了

    spring-boot-plus spring-boot-plus是一套集成spring boot常用开发组件的后台快速开发框架 官网地址:springboot.plus GITHUB:https:/ ...

  7. c语言:链表

    1.链表概述: 链表是一种数据结构,它采用动态分配存储单元方式.它能够有效地节省存储空间(同数组比较). 由于链表中的节点是一个结构体类型,并且结点中有一个成员用于指向下一个结点.所以定义作为结点的格 ...

  8. java基础类型源码解析之HashMap

    终于来到比较复杂的HashMap,由于内部的变量,内部类,方法都比较多,没法像ArrayList那样直接平铺开来说,因此准备从几个具体的角度来切入. 桶结构 HashMap的每个存储位置,又叫做一个桶 ...

  9. HDU 3068:最长回文(Manacher算法)

    http://acm.hdu.edu.cn/showproblem.php?pid=3068 最长回文 Problem Description   给出一个只由小写英文字符a,b,c...y,z组成的 ...

  10. orm的操作

    ORM的对应关系 ​ 类 —— > 表 ​ 对象 ——> 记录(数据行) ​ 属性 ——> 字段 class Book(model.Model): title=models.Char ...