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. Elasticsearch系列---初识Elasticsearch

    Elasticsearch是什么? Elasticsearch简称ES,是一个基于Lucene构建的开源.分布式.Restful接口的全文搜索引擎,还是一个分布式文档数据库.天生就是分布式.高可用.可 ...

  2. STM32-24位AD7799驱动之手册代码详解,支持模拟SPI和硬件SPI

    1.AD7799介绍 AD7799结构图如下所示: 其中REFIN参考电压建议为2.5V, REFIN电压低于0.1V时,则差分输入ad值就无法检测了,如下图所示: 注意: 如果REG_CONFIG的 ...

  3. 44.QT-安装MySQL、测试连接MySQL

    在上章学习了42.QT-操作SQLite数据库后,发现MySQL和SQLite的语句都大致相同,所以本章只测试MySQL是否能使用 MySQL安装参考链接:https://blog.csdn.net/ ...

  4. Violet音乐社区 - 个人总结报告

    一.项目概述 1.1 项目背景 音乐是一门艺术,是由有组织的乐音来表达人们情感.反映人类现实生活情感的艺术.现代科技的发展使得人们可以利用网络随时随地的享受音乐,然而在当今互联网却很少有一个以音乐为媒 ...

  5. CAS服务端数据源设置

    2.CAS服务端数据源设置 2.1需求分析 我们现在让用户名密码从我们的品优购的user表里做验证 2.2配置数据源 (1)修改cas服务端中web-inf下deployerConfigContext ...

  6. java根据value获取Map对象的key

    Map<String, String> map= new HashMap<String,String>(); for(Map.Entry<String, String&g ...

  7. 华为2019年NE40E-X8,承诺命令

    commit每敲一行命令,都得确认一下.以防误操作.

  8. js对象数组中的某属性值 拼接成字符串

    js对象数组中的某属性值 拼接成字符串 var objs=[ {id:1,name:'张三'}, {id:2,name:'李四'}, {id:3,name:'王五'}, {id:4,name:'赵六' ...

  9. 原创【cocos2d-x】CCMenuItemToggle 在lua中的使用

    说明:1,所使用的cocos2dx版本为2.1.3 ;09:48:05 2,本人仍是在学习中的小菜鸟,此博客只是为了记录我学习过程中的点滴,同时也希望同样lua开发的童鞋,一起交流: 3,本人whj0 ...

  10. Lua 5.1 学习笔记

    1 简介 2 语法 2.1 语法约定 2.1.1 保留关键字 2.1.2 操作符 2.1.3 字符串定义 2.2 值与类型 2.2.1 强制转换 2.3 变量 2.3.1 索引 2.3.2 环境表 2 ...