Linux系统学习 八、SSH服务—SSH远程管理服务
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远程管理服务的更多相关文章
- (笔记)Linux内核学习(八)之定时器和时间管理
一 内核中的时间观念 内核在硬件的帮助下计算和管理时间.硬件为内核提供一个系统定时器用以计算流逝的时间.系 统定时器以某种频率自行触发,产生时钟中断,进入内核时钟中断处理程序中进行处理. 墙上时间和系 ...
- Linux(11):期中架构(3)--- SSH远程管理服务 & ansible 批量管理服务
SSH远程管理服务 1. 远程管理服务知识介绍 # 1.1 SSH远程登录服务介绍说明 SSH是Secure Shell Protocol的简写,由 IETF 网络工作小组(Network Worki ...
- SSH远程管理服务实战
目录 SSH远程管理服务实战 1.SSH基本概述 2.SSH相关命令 3.Xshell连接不上虚拟机 4.scp命令 5.sftp命令 6.SSH验证方式 7.SSH场景实践 8.SH安全优化 9.交 ...
- 五.ssh远程管理服务
01. 远程管理服务知识介绍 1) SSH远程登录服务介绍说明 SSH是Secure Shell Protocol的简写,由 IETF 网络工作小组(Network Working Group)制定: ...
- linux系统下,11款常见远程桌面控制软件
linux系统下,11款常见远程桌面控制软件 一. Grdc 它是一个用GTK+编写的,适用于gnome桌面环境的远程桌面访问软件.看图: 常见功能: 1.提供全屏,窗口化的远程控制.支持高分辨率下的 ...
- Linux系统登录:本地登录与远程登录
安装登录系统的位置可以将登录方式分为两种:本地登录和远程登录.本地登录可以使用图形界面和命令行模式(也称字符界面)两种方式:远程登录可以使用SSH.Telnent.VNC.SFTP 4种方式. 常见的 ...
- Linux系统学习笔记:文件I/O
Linux支持C语言中的标准I/O函数,同时它还提供了一套SUS标准的I/O库函数.和标准I/O不同,UNIX的I/O函数是不带缓冲的,即每个读写都调用内核中的一个系统调用.本篇总结UNIX的I/O并 ...
- Linux-SSH远程管理服务实战
figure:first-child { margin-top: -20px; } #write ol, #write ul { position: relative; } img { max-wid ...
- Linux下 SSH远程管理服务
第1章 SSH基本概述 1.1 SSH服务协议说明 SSH 是 Secure Shell Protocol 的简写,由 IETF 网络工作小组(Network Working Group )制定 在进 ...
随机推荐
- WestWild: 1.1: Vulnhub Walkthorugh
启动界面 主机层面扫描: ╰─ nmap -p1-65535 -sV -A 10.10.202.131 Starting Nmap 7.70 ( https://nmap.org ) at 2019- ...
- MinU: v2 Vulnhub Walkthrough
主机层面扫描: 22 和 3306 端口 3306 端口默认是MySQL端口,但是这里尝试爆破报错,最后通http访问发现非MySQL协议,而是一个http的服务 http的协议我们进行目录枚举下 枚 ...
- netty解决粘包半包问题
前言:开发者用到TCP/IP交互时,偶尔会遇到粘包或者半包的数据,这种情况有时会对我们的程序造成严重的影响,netty框架为解决这种问题提供了若干框架 1. LineBasedFrameDecoder ...
- 团队开发的代码管理(VS)
1.文档 代码需要一个文档说明代码的基本情况,使用的组件,代码逻辑层等等 2.源代码冲突(Git) 首先需要尽可能避免冲突,公共的工具基类尽可能不动,如果需要修改也交给专人修改不能谁都上去修改 项目按 ...
- Troubleshooting: High Version Count Issues
--查询版本高的原因 select * from v$sql_shared_cursor where sql_id=''; Configuring Download the script in the ...
- DSP开发程序相关问题总结
1. 定义Class总是出错,原来是这样的class SCM_DRV_API CSERCOS{}:后来改为class CSERCOS{}:就可以了. 类的一般定义格式如下: class < ...
- 工具推荐--刷LeetCode的神器
本文首发于微信公众号:[坂本先生],文章地址为: https://mp.weixin.qq.com/s/vHv5hO8nils_g2VSKwu1Cg如有转载请标明出处 今天给大家安利一款快速刷Leet ...
- 数组累计-reduce
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值. reduce() 可以作为一个高阶函数,用于函数的 compose. array.reduce(f ...
- Ubuntu18.04 设置开机进入命令行模式
首先来了解下启动级别(Runlevel): 指 Unix 或 类 Unix 操作系统下不同的运行模式,运行级别通常分为 7 级: 运行级别 0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启 ...
- [译]Vulkan教程(04)基础代码
[译]Vulkan教程(04)基础代码 General structure 通用结构 In the previous chapter you've created a Vulkan project w ...