1、SSH简介

ssh(安全外壳协议)是Secure Shell的缩写,是建立在应用层和传输层基础上的安全协议。传输的时候是经过加密的,防止信息泄露,比telnet(明文传递)要安全很多。

ftp安装(要先加载上光盘镜像文件)

安装的ftp服务器端

启动服务

查看

创建一个新用户

tcpdump抓包工具

安装命令

yum install tcpdump

然后在本地机器上连接虚拟机

应该是有防火墙

iptables -L

默认Windows当中启动的防火墙,21端口没开着

这边使用命令全部关掉,然后重新监听21端口

虽然登录失败了,但是并不影响抓包

用户名:

密码:

2、SSH端口

端口:22

Linux中守护进程:sshd

安装服务:OpenSSH

服务端主程序:/usr/sbin/sshd

客户端主程序:/usr/bin/ssh

3、相关配置文件

服务端配置文件:/etc/ssh/sshd_config

客户端配置文件:/etc/ssh/ssh_config

2、SSH加密原理

对称加密算法

采用单钥密码系统的加密方法,同一个秘钥可以同时用作信息的加密和解密,这种加密方式称为对称加密,也称为单秘钥加密。

非对称加密算法又名“公开秘钥加密算法”,非堆成加密算法需要两个秘钥:公开密钥和私有秘钥。

SSH安全外壳协议(是由非对称加密演变来的)

它仅仅只是保护了数据传输的过程,在发送前和接收后中了木马等就可能获得数据内容。

在用Xshell连接服务器时就会有直观的显示。

3、SSH配置文件

服务器端配置文件

应该还有一个客户端的配置文件(ssh_config)

ssh_config在使用过程中,既是一个客户端也是一个服务端,意思是可以允许别人作为客户端通过22端口访问我,我也可以作为客户端去访问别人。

PermitRootLogin yes        允许root的ssh登录(建议普通用户登录)

PasswordAuthentication yes            建议也改成no

虽然有些设置是被注释掉的,但是事实上有些是默认设置的,注释掉也可以。

一般建议把端口改掉。

日志中等级越高记录的信息越少,等级越低记录的信息越详细。

GSSAPI认证开启后,在用Linux系统管理Linux系统时会有一个验证过程,会等很长时间,需要DNS解析。建议关闭(一般是客户端的配置文件,然后重启service sshd restart)

4、常用SSH命令

SSH远程管理

ssh [用户名@ip]

SCP远程复制

下载:

scp root@192.168.44.2:/root/text.txt

上传:

scp –r /root/123/ root@192.168.44.2/root

5、SSH连接工具

在Windows中用工具远程连接Linux进行管理。

SecureCRT工具

Xshell工具

5、SSH密钥对登录

保护服务器端的SSH

1.改端口

2.防火墙

第一步:创建密钥对,私钥文件:id_rsa,公钥文件:id_rsa.pub(客户机)

第二步:上传公钥文件到SSH服务器(id_rsa.pub)

第三步:导入公钥信息,公钥库文件:~/.ssh/authorized_keys

第四步:使用密钥对验证进行登录

不需要密码登陆,防止了密码被截获的可能,只要保证私钥文件的安全就可以了

步骤一:

客户端:

ssh-keygen –t rsa

服务器:

把公钥上传到服务器端

cat id_rsa.pub >>/root/.ssh/authorized_keys                  输出重定向

chmod 600 /root/.ssh/authorized_keys

客户端:

创建普通用户

切换到普通用户

su – user

返回到root

exit

我这边一直是以下这种显示

不管是服务器还是本机的PermitRootLogin yes都改了,但是问题依旧没有解决。

也尝试用普通用户连接,依旧是这种情况。

步骤二

修改服务器ssh配置文件

RSAAuthentication yes    开启RSA验证

PubkeyAuthentication yes      是否使用公钥验证

AuthorizedKeysFile .ssh/authorized_keys      公钥的保存位置

PasswordAuthentication on   禁止使用密码验证登录

步骤三

服务器端关闭SELinux服务

vi /etc/selinux/config

重启系统

服务器端重启ssh服务

service sshd restart

Linux系统学习 八、SSH服务—SSH远程管理服务的更多相关文章

  1. (笔记)Linux内核学习(八)之定时器和时间管理

    一 内核中的时间观念 内核在硬件的帮助下计算和管理时间.硬件为内核提供一个系统定时器用以计算流逝的时间.系 统定时器以某种频率自行触发,产生时钟中断,进入内核时钟中断处理程序中进行处理. 墙上时间和系 ...

  2. Linux(11):期中架构(3)--- SSH远程管理服务 & ansible 批量管理服务

    SSH远程管理服务 1. 远程管理服务知识介绍 # 1.1 SSH远程登录服务介绍说明 SSH是Secure Shell Protocol的简写,由 IETF 网络工作小组(Network Worki ...

  3. SSH远程管理服务实战

    目录 SSH远程管理服务实战 1.SSH基本概述 2.SSH相关命令 3.Xshell连接不上虚拟机 4.scp命令 5.sftp命令 6.SSH验证方式 7.SSH场景实践 8.SH安全优化 9.交 ...

  4. 五.ssh远程管理服务

    01. 远程管理服务知识介绍 1) SSH远程登录服务介绍说明 SSH是Secure Shell Protocol的简写,由 IETF 网络工作小组(Network Working Group)制定: ...

  5. linux系统下,11款常见远程桌面控制软件

    linux系统下,11款常见远程桌面控制软件 一. Grdc 它是一个用GTK+编写的,适用于gnome桌面环境的远程桌面访问软件.看图: 常见功能: 1.提供全屏,窗口化的远程控制.支持高分辨率下的 ...

  6. Linux系统登录:本地登录与远程登录

    安装登录系统的位置可以将登录方式分为两种:本地登录和远程登录.本地登录可以使用图形界面和命令行模式(也称字符界面)两种方式:远程登录可以使用SSH.Telnent.VNC.SFTP 4种方式. 常见的 ...

  7. Linux系统学习笔记:文件I/O

    Linux支持C语言中的标准I/O函数,同时它还提供了一套SUS标准的I/O库函数.和标准I/O不同,UNIX的I/O函数是不带缓冲的,即每个读写都调用内核中的一个系统调用.本篇总结UNIX的I/O并 ...

  8. Linux-SSH远程管理服务实战

    figure:first-child { margin-top: -20px; } #write ol, #write ul { position: relative; } img { max-wid ...

  9. Linux下 SSH远程管理服务

    第1章 SSH基本概述 1.1 SSH服务协议说明 SSH 是 Secure Shell Protocol 的简写,由 IETF 网络工作小组(Network Working Group )制定 在进 ...

随机推荐

  1. utf8和utf8mb4的区别

    一.简介 MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode.好在utf8mb4是utf8的超集,除了将编码改为ut ...

  2. render加载vue文件 vue-loader配置

    默认webpack无法打包.vue文件,需要安装相关Loader安装 npm install vue-loader vue-template-compiler -D webpack.config.js ...

  3. ubuntu 18.04 安装并配置adb

    获取最新的adb包 wget https://dl.google.com/android/repository/platform-tools-latest-linux.zip 将软件包解压到指定位置 ...

  4. Promise代码详解(show you the code)

    认识异步函数 同步函数: const sum1 =(a,b)=>{ return a+b } console.log('AAA'); console.log(sum(5,6)); conosle ...

  5. webpack动态加载打包chunk命名

    最近,遇到复杂h5页面开发,为了优化H5首屏加载速度,想到使用按需加载的方式,减少首次加载的JavaScript文件体积,于是将处理过程在这里记录一下,涉及到的主要是以下三点: 使用Webpack如何 ...

  6. SpringBoot集成swagger2.0

    最近项目里要用到SpringBoot + swagger,查了其他小伙伴们的资料,或多或少有点问题,在此我再梳理一遍. 1.maven依赖 <parent> <groupId> ...

  7. 成套销售交货组与BOM 546719 - FAQ: Delivery group and BOM in the delivery

    交货组:将需要同时交互给客户的项目捆绑在一起,按行项目中最后交货日期做完交货组的计划行日期 1.如果销售订单标记为完全交货,则所有行项目都会分配到同一个交货组中 删除交货单是会给出警告 2.为母键行项 ...

  8. android 引入一个布局库后该有的操作

    背景 引入一个布局库:com.zhy:percent-support-extends 然后sync now 成功了,也就是同步成功了. 然而开始使用的时候报告了: The following clas ...

  9. netty解决粘包半包问题

    前言:开发者用到TCP/IP交互时,偶尔会遇到粘包或者半包的数据,这种情况有时会对我们的程序造成严重的影响,netty框架为解决这种问题提供了若干框架 1. LineBasedFrameDecoder ...

  10. vmstat/top/iostat/route/sar 常用命令

    [vmstat]Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存.进程.CPU活动进行监控.是对系统的整体情况进行统计,不足之处是无法对某个进程进行深 ...