在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. Linux上vim的使用

    .........以下是我在使用vim时的操作经验........... (首先要了解vim主要是命令模式,输入模式,可视化模式,主要区别就是在不同模式下可以完成不同的操作,只是个编辑器,没有必要太纠 ...

  2. gitlab安装笔记一_虚拟机中安装Centos7

    (为搭建gitlab环境的准备) 环境:vmware workstation 12 pro 系统: CentOS-7-x86_64-Everything-1804.iso  (CentOS-7-Min ...

  3. spring cloud 系列第1篇 —— eureka 服务的注册与发现 (F版本)

    源码仓库地址:https://github.com/heibaiying/spring-samples-for-all 一.eureka 简介 Spring Cloud Eureka使用Netflix ...

  4. spring cloud 系列第7篇 —— sleuth+zipkin 服务链路追踪 (F版本)

    源码Gitub地址:https://github.com/heibaiying/spring-samples-for-all 一.简介 在微服务架构中,几乎每一个前端的请求都会经过多个服务单元协调来提 ...

  5. react 项目全家桶构件流程

    资源:create-react-app.react.react-dom.redux.react-redux.redux-thunk.react-router-dom.antd-mobile/antd. ...

  6. There is no getter for property named 'username' in 'class Model1.User'-----报错解决

    There is no getter for property named 'username' in 'class Model1.User' -----Model Model1.User'中没有名为 ...

  7. 第七章 手动部署Fisco Bcos 区块链并完成新增群组,在原有群组中新增机构

    鉴于笔者以前各大博客教程都有很多人提问,早期建立一个技术交流群,里面技术体系可能比较杂,想了解相关区块链开发,技术提问,请加QQ群:538327407 目标 1.新增群组搭建完整联盟链 2.根据群组新 ...

  8. java-NIO-概念

    现在使用NIO的场景越来越多,很多网上的技术框架或多或少的使用NIO技术,譬如Tomcat,Jetty 一.概述 NIO主要有三大核心部分:Channel(通道),Buffer(缓冲区), Selec ...

  9. sql锁的类型介绍:悲观锁,乐观锁,行锁,表锁,页锁,共享锁,排他锁,意向锁

    1 悲观锁,乐观锁 悲观锁:顾名思义,很悲观,就是每次拿数据的时候都认为别的线程会修改数据,所以在每次拿的时候都会给数据上锁.上锁之后,当别的线程想要拿数据时,就会阻塞,直到给数据上锁的线程将事务提交 ...

  10. Codeforces Gym101246J:Buoys(三分搜索)

    http://codeforces.com/gym/101246/problem/J 题意:给出n个点坐标,要使这些点间距相同的话,就要移动这些点,问最少的需要的移动距离是多少,并输出移动后的坐标. ...