1、ssh协议:用于远程登录,端口号:22/tcp

配置文件:

1)服务器端口:/etc/ssh/sshd_config

2)客户端 :/etc/ssh/ssh_config

2、服务器监听选项:

UseDNS  no :禁用DNS反向解析

PermitRootLogin :允许Root登录

PermitEmyptPasswords:是否允许空密码

AllowUsers/DenyUsers: 允许/拒绝用户访问,不可同时使用,可用@制定允许远程主机

PasswordAuthentication: 启用密码验证

PubkeyAuthentication:启用密钥对验证,优先级高

AuthorizedKeysFile:公钥库文件位置及名称       .ssh/authorized_keys

3、验证方式:

1)密码验证:用/etc/passwd和/etc/shadow文件验证

2)密钥对验证:核对客户私钥与服务端公钥是否匹配

4、访问方式:

1)ssh命令: 远程登录

格式: ssh  用户名@主机ip

或 ssh  -l  用户名  主机ip

2)scp命令:远程复制

格式: scp  -r 用户名@服务器IP:/文件路径 /本地路径

scp 本地路径 用户名@服务器IP:/文件路径

3)sftp: 安全的ftp下载,无须vsftpd服务支持

sftp   用户名@主机IP

4)Xsheel: 在windows下远程登录服务器的软件

5、构建密钥对验证:

1)生成密钥对: 加密算法: 有RSA和DSA两种

命令:ssh-keygen   -t  rsa

生成密钥对文件:id_rsa.pub

生成私钥文件:id_rsa

2)将公钥文件上传到服务器并改名为:authorized_keys

Scp  ~/.ssh/id_rsa.pub  用户名@服务IP:/~/.ssh/authorized_keys

或ssh-copy-id  -i  公钥文件  用户IP

3)客户端会创建known_host文件记录已登录服务的摘要信息

6、TCP Wrappers:通过tcpd进程调用libwrap.so.*链接库进行控制

控制文件:

/etc/hosts.allow    允许访问文件

/etc/hosts.deny    拒绝访问控制文件

控制格式:服务列表:客户机地址列表

列表以逗号分隔      ALL代表所有

?代表一个字符      *代表任意个字符

地址可用IP地址、网段、域名

网段方式:192.168.4.

或192.168.4.*

或192.168.4.0/255.255.255.0

策略顺序:默认允许,允许优先

 

构建SSH服务体系示例

一、实验拓扑图:

二、实验要求:

1、网关的配置要求:

两个网卡,分别如图所示IP地址。开启路由转发功能:

echo  "1" > /proc/sys/net/ipv4/ip_forward

以及需要停止 servieNetworkManager stop服务

三台linux主机配置完成后可以互相ping通,如下图:

Win7也可以ping通ssh服务器

2、SSH-web服务器的配置要求:

有两个用户,分别是zhangsan,lisi。要求zhangsan用户只能在1.10主机上使用密钥对的方式认证登录。lisi只能在1.20使用xshell登录,采用的直接密码验证的方式登录。禁用任何其他用户在客户端登录。在此服务器上安装一个lrzsz软件包(在linux的安装光盘上。),用于xshell能上传和下载软件。

步骤:

1)首先创建好zhangsan和lisi用户,并分别设置密码

 

2)配置sshd的主配置文件/etc/ssh/sshd_config ,设置zhangsan和lisi的登录主机

重启sshd服务

3)在1.10客户机上使用root身份创建密钥对文件并上传公钥到ssh服务器的zhangsan用户

查看确认生成的密钥文件

上传公钥

到ssh服务器上的zhangsan目录查看是否有.ssh隐藏目录,并且里面有authorized_keys文件。

 

4)在ssh服务器上安装lrzsz软件包

3、客户端要求:(验证)

1)1.10:使用zhagsan用户,验证密码短语后能够登录。

登录成功

2)验证使用lisi用户在1.10客户机上不能登录

3)1.20:安装Xshell ,使用lisi用户,验证lisi密码后能登录。

4)在xshell上传一个apache的安装包,并在2.10上安装Apache服务。

输入rz命令并选择软件包上传

到lisi的目录查看并安装

5)在lisi的目录创建一个文件验证是否能下载

6)在1.20 win7主机上验证zhangsan用户不能登录

7)验证其他用户在客户端不能登录

文章参考微信公众号:L宝宝聊IT

Linux远程访问及控制(SSH)的更多相关文章

  1. Linux远程访问及控制

    Linux远程访问及控制 目录 Linux远程访问及控制 一.SSH远程管理 1. SSH远程管理概述 2. OpenSSH概述 3. 配置OpenSSH服务端 4. sshd服务的验证方式 5. 使 ...

  2. 公钥-私钥 白名单-黑名单 Linux 远程访问及控制(SSH)

    远程访问及控制一.SSH远程管理二.OpenSSH服务器① SSH (Secure Shell)协议② OpenSSH三.配置OpenSSH服务器举例四.sshd 服务支持两种验证方式五.使用SSH客 ...

  3. Linux网络服务10——远程访问及控制

    Linux网络服务10--远程访问及控制 一.SSH概述 1.SSH简介 SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录.远程复制等功能.SSH协议对通信双方的数 ...

  4. SSH 远程访问及控制 ( 早上好,我是派大星,上帝派来爱你的那颗星)

    远程访问及控制 1.SSH远程管理,TCP Wrappers访问控制 2.配置密钥对验证 1.SSH远程管理,TCP访问控制 SSH是一种安全通道协议,主要用来实现字符界面的远程登录.远程复制等功能: ...

  5. Linux iptables 应用控制访问SSH服务

    Title:Linux iptables 应用控制访问SSH服务  --2012-02-23 17:51 今天用到了以前从来没有用到过的,iptables控制访问,只允许外部访问SSH服务(22号端口 ...

  6. 技术漫谈 | 远程访问和控制云端K8S服务器的方法

    对于部署在云端的K8S容器编排系统,可以先通过SSH远程登录到K8S所在主机,然后运行kubectl命令工具来控制K8S服务系统.然而,先SSH登录才能远程访问的二阶段方式,对于使用Linux桌面或者 ...

  7. 了解一下 Linux 上用于的 SSH 图形界面工具

    如果你碰巧喜欢好的图形界面工具,你肯定很乐于了解一些 Linux 上优秀的 SSH 图形界面工具.让我们来看看这三个工具,看看它们中的一个(或多个)是否完全符合你的需求. 在你担任 Linux 管理员 ...

  8. Linux启动与禁止SSH用户及IP的登录

    以下就针对SSH方面讨论一下.假设有人特别关注Linux环境的安全性,第一就从login方面来进行讨论 1:Linux启动或禁止SSH root用户的登录 2:Linux限制SSH用户 事实上这些东西 ...

  9. Linux系统下的SSH 使用总结

    对于linux运维工作者而言,使用ssh远程远程服务器是再熟悉不过的了!对于ssh的一些严格设置也关系到服务器的安全维护,今天在此,就本人工作中使用ssh的经验而言,做一些总结记录来下. -bash: ...

随机推荐

  1. Xcode 8.X Command Line Tools

    Summary Step 1. Upgrade Your System to macOS Sierra Step 2. Open the Terminal Application Step 3. Is ...

  2. java-Timer类使用方法

    Timer: public Timer()创建一个新计时器.相关的线程不 作为守护程序运行. 方法摘要: void schedule(TimerTask task, Date time)        ...

  3. NGINX 加载动态模块(NGINX 1.9.11开始增加加载动态模块支持)

    NGINX 1.9.11开始增加加载动态模块支持,从此不再需要替换nginx文件即可增加第三方扩展.目前官方只有几个模块支持动态加载,第三方模块需要升级支持才可编译成模块. tinywan@tinyw ...

  4. SQL优化经验总结

    一. 优化SQL步骤 1. 通过 show status和应用特点了解各种 SQL的执行频率    通过 SHOW STATUS 可以提供服务器状态信息,也可以使用 mysqladmin extend ...

  5. github总结(3)--怎样在github上面实现页面托管

    part Ⅱ:gh-pages分支--实现页面托管 第一步:在github线上创建一个新的仓库 第二步:在项目本地地址,git init初始化,再git add --all进行文档追踪添加 第三步:g ...

  6. 第4章 Selenium2-java WebDriver API (二)

    4.8  定位一组元素 定位一组元素的方法与定位单个元素的方法类似,唯一的区别是在单词element后面多了一个s表示复数.定位一组元素一般用于以下场景: ·批量操作元素,例如勾选页面上所有的复选框. ...

  7. Ubuntu安装设置nginx和nohup常用操作

    nginx安装 Ubuntu直接从常规源中安装 apt-get install nginx 安装的目录 配置文件:/etc/nginx/ 主程序文件:/usr/sbin/nginx Web默认目录:/ ...

  8. JavaWeb学习(二十九)———— 事务

    一.事务的概念 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功. 例如:A——B转帐,对应于如下两条sql语句  update from account set mone ...

  9. 史上最全的 Python 3 类型转换指南

    int 支持转换为 int 类型的,仅有 float.str.bytes,其他类型均不支持. float -> int 会去掉小数点及后面的数值,仅保留整数部分. int(-12.94) # - ...

  10. 【easyui】关于easyui Datagrid一些样式记录

    此篇文章主要记录在使用datagrid中常见的修改样式方式以及样式效果配图!!!! 一丶存在选中框的时候标题栏合并显示序号字段. 代码展示: onLoadSuccess: function (data ...