在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. 关于Git 的管理凭据操作

    1.桌面-->2.我的电脑-->3.右击选择属性-->4.控制面板主页-->5.在用户账户和家庭安全下,选择添加或删除用户账户-->转到“主用户账户”页面-->6. ...

  2. SpringBoot实现文件上传

    前言参考:快速开发第一个SpringBoot应用 这篇文章会讲解如何使用SpringBoot完成一个文件上传的过程,并且附带一些SpringBoot开发中需要注意的地方 首先我们写一个文件上传的htm ...

  3. 附006.Kubernetes RBAC授权

    一 RBAC 1.1 RBAC授权 基于角色的访问控制(RBAC)是一种基于个人用户的角色来管理对计算机或网络资源的访问的方法. RBAC使用rbac.authorization.k8s.io API ...

  4. devexpress 给GridView添加行号

    先找到 此时间gridView1_CustomDrawRowIndicator private void gridView1_CustomDrawRowIndicator(object sender, ...

  5. jQuery-ajax-.get,.post方法

    在上一篇中详细介绍了jQuery中ajax局部方法$.load()的使用.下面来介绍两个全局方法$.get(),$.post()的使用. 1.这两个全局方法其实和上一篇中的$.load()方法使用是差 ...

  6. 小范笔记:ASP.NET Core API 基础知识与Axios前端提交数据

    跟同事合作前后端分离项目,自己对 WebApi 的很多知识不够全,虽说不必要学全栈,可是也要了解基础知识,才能合理设计接口.API,方便与前端交接. 晚上回到宿舍后,对 WebApi 的知识查漏补缺, ...

  7. shell脚本开发基本规范

    当你的才华还撑不起你的野心的时候,你就应该静下心来学习.当你的能力还驾驭不了你的目标的时候,你就应该沉下心来历练.问问自己,想要怎样的人生. 欢迎加入 基础架构自动化运维:598432640,大数据S ...

  8. 简单的python多线程实例

    今天抽时间又学了一下python的多线程,理解的又多了一些,为了利于理解,写了一段很简单的代码,如下: import threading from time import sleep def task ...

  9. C++ 洛谷 P2704 [NOI2001]炮兵阵地

    P2704 [NOI2001]炮兵阵地 没学状压DP的看一下 此题意思很简单,如下图,就是十字架上的不能有两个点放炮兵. 在做此题前,先做一下玉米田 玉米田题解 分析: 而m即一行的个数小于等于10, ...

  10. 读取ClassPath下resource文件的正确姿势

    1.前言 为什么要写这篇文章?身为Java程序员你有没有过每次需要读取 ClassPath 下的资源文件的时候,都要去百度一下,然后看到下面的这种答案: Thread.currentThread(). ...