阿凡达学Linux-----SSH详解

SSH 这个知识点 是从一个位从事运维行业16年左右新出的linux书上学习到的。我的学习资源除了这位之还有就是之前所提到的目前就职于腾讯的高级工程师。首先得先感谢他们给予我的帮助,也算是我人生当中的导师。在linux方面,老师也给出系统的学习方法和知识体系。我也会把学习的知识点都会分享出来。这是老师常教育我做人方面的。后面我会列出来我将要复习的知识点,以后的博客,也就是针对这些去学习的。

为何要说SSH远程连接,因为几乎在所有的互联网企业环境中,最常用提供Linux远程连接服务的工具就是SSH软件了,SSH分为SSH客户端和SSH服务器端两部分。其中,SSH服务器端包含的软件程序主要有 openssh 和 openssl.

Openssh 是提供ssh 服务的程序

Openssl 是为了SSH提供连接加密的程序。

在linux系统中可以使用如下命令查询SSH服务器端工具的安装情况.

rpm  -qa  openssh   openssl

1、SSH 服务器端介绍

启动linux 系统时,默认情况下,ssh服务器程序就会跟随系统一起启动,SSH服务是一个守护进程 (daemon) ,它在系统后台永久运行并时刻响应所有来自SSH客户端的连接请求。SSH服务器端的进程名为( sshd ),负责实时监听远程SSH 客户端的连接请求并进行处理。这些请求一般包括公共秘钥认证,密钥交换,对称密钥加密和非安全连接等。SSH服务是linux系统优化时需要保留开机自启动的服务之一。

2、SSH 客户端介绍

SSH客户端最常用的工具就是 windows 平台上运行的SecureCRT了。除它之外还有 xshell、putty以及 linux下的ssh 客户端软件。

3、SSH协议介绍

SSH服务端和SSH客户端之间的交流都是通过SSH协议来实现的。SSH协议是 Secure Shell Protocol 的简写,由 IETF工作小组制定。在进行数据传输之前,SSH先通过加密技术对联机数据包进行加密处理,然后在进行数据传输,这样就可确保传递的数据安全。

SSH是专门为远程登录会话和其他网络服务提供的安全性协议。利用SSH协议可以有效地防止远程管理过程中的信息泄露,在当前的生产环境中,很多企业普遍采用SSH协议服务来代替传统的不安全的远程联机服务软件。例如telnet 23端口 它是非加密的。

SSH协议有两个不兼容的版本。

SSH1.x和SSH2.x

OpenSSH同时支持这两个版本。2.x的客户端程序不能连接到1.x服务程序上。2.x比 1.x更安全。一般情况下,服务器端通过2.x协议提供服务。

4、SSH 客户端 和 SSH 服务端远程连接的形象示意图。如图所示

5、我的虚拟机ip地址 为 192.168.5.185。假设存在故障,检查的思路如下:

1》ping 192.168.5.185  ping 命令从客户端发包到服务器,是否有数据返回.

2》telnet 192.168.5.185 22

3》检查 iptables 等防火墙 策略是否阻挡了连接

/etc/init.d/iptables status

6、远程登录成功之后的提示语

文件的路径 /etc/motd 里面的内容是随自己添加的

也可以不使用 vim  echo "xxx,我爱你"> /etc/motd 这也是一种办法

7、ssh 配置文件

路径:  /etc/ssh/sshd_config

service  sshd restart  重启

service sshd stop      停止

Service sshd start      开始

Service sshd status    查看状态

我把配置文件里常见的参数设置都粘贴了出来

Port 22

“Port”设置sshd监听的端口号。

ListenAddress 192.168.1.1

“ListenAddress”设置sshd服务器绑定的IP地址。

HostKey /etc/ssh/ssh_host_key

“HostKey”设置包含计算机私人密匙的文件。

ServerKeyBits 1024

“ServerKeyBits”定义服务器密匙的位数。

LoginGraceTime 600

“LoginGraceTime”设置如果用户不能成功登录,在切断连接之前服务器需要等待的时间(以秒为单位)。

KeyRegenerationInterval 3600

“KeyRegenerationInterval”设置在多少秒之后自动重新生成服务器的密匙(如果使用密匙)。重新生成密匙是为了防止用盗用的密匙解密被截获的信息。

PermitRootLogin no

“PermitRootLogin”设置root能不能用ssh登录。这个选项一定不要设成“yes”。

IgnoreRhosts yes

“IgnoreRhosts”设置验证的时候是否使用“rhosts”和“shosts”文件。

IgnoreUserKnownHosts yes

“IgnoreUserKnownHosts”设置ssh daemon是否在进行RhostsRSAAuthentication安全验证的时候忽略用户的“$HOME/.ssh/known_hosts”

StrictModes yes

“StrictModes”设置ssh在接收登录请求之前是否检查用户家目录和rhosts文件的权限和所有权。这通常是必要的,因为新手经常会把自己的目录和文件设成任何人都有写权限。

X11Forwarding no

“X11Forwarding”设置是否允许X11转发。

PrintMotd yes

“PrintMotd”设置sshd是否在用户登录的时候显示“/etc/motd”中的信息。

SyslogFacility AUTH

“SyslogFacility”设置在记录来自sshd的消息的时候,是否给出“facility code”。

LogLevel INFO

“LogLevel”设置记录sshd日志消息的层次。INFO是一个好的选择。查看sshd的man帮助页,已获取更多的信息。

RhostsAuthentication no

“RhostsAuthentication”设置只用rhosts或“/etc/hosts.equiv”进行安全验证是否已经足够了。

RhostsRSAAuthentication no

“RhostsRSA”设置是否允许用rhosts或“/etc/hosts.equiv”加上RSA进行安全验证。

RSAAuthentication yes

“RSAAuthentication”设置是否允许只有RSA安全验证。

PasswordAuthentication yes

“PasswordAuthentication”设置是否允许口令验证。

PermitEmptyPasswords no

“PermitEmptyPasswords”设置是否允许用口令为空的帐号登录。

这是我将老师传授我的所有SSH知识点都分享了出来,图是第一次画,所以难免会有些难看,以后我会改进的。这也算是我对老师这么辛苦教我的感恩。谢谢您们!

阿凡达---23:19

时间: 2024-10-16 13:11:49

阿凡达学Linux-----SSH详解的相关文章

Gentoo Linux安装详解--根据官方WiKi整理

1. 前期准备 远程登录: 开启ssh服务: /etc/init.d/sshd start 设置密码: passwd 以便使用putty.ssh client远程登录上传stage等(有时在线下载很慢,而局域网上传很快) 准备磁盘: 分区: fdisk /dev/sda /dev/sda1 : /boot 100M(32-100M) 设启动笔记-a/dev/sda2 : / 20G/dev/sda3 : /home 20G/dev/sda5 : /swap 1G (内存< 512 MB,分区分配

Gentoo Linux安装详解

1. 前期准备 远程登录: 开启ssh服务: /etc/init.d/sshd start 设置密码: passwd 以便使用putty.ssh client远程登录上传stage等(有时在线下载很慢,而局域网上传很快) 准备磁盘: 分区: fdisk /dev/sda /dev/sda1 : /boot 100M(32-100M) 设启动笔记-a/dev/sda2 : / 20G/dev/sda3 : /home 20G/dev/sda5 : /swap 1G (内存< 512 MB,分区分配

Linux指令详解useradd groupadd passwd chpasswd chage 密码修改

创建用户.设置密码.修改用户.删除用户: useradd testuser 创建用户testuser passwd testuser 给创建的用户testuser设置密码 说明:新创建的用户会在/home下创建一个用户目录testuser usermod --help 修改用户这个命令的相关参数 userdel testuser 删除用户testuser rm -rf testuser 删除用户testuser所在目录 上面的几个命令只有root账号才可以使用,如果你不知道自己的系统上面的命令在

Linux 目录详解 树状目录结构图

1.树状目录结构图 2./目录 目录 描述 / 第一层次结构的根.整个文件系统层次结构的根目录. /bin/ 需要在单用户模式可用的必要命令(可执行文件):面向所有用户,例如:cat.ls.cp,和/usr/bin类似. /boot/ 引导程序文件,例如:kernel.initrd:时常是一个单独的分区[6] /dev/ 必要设备, 例如:, /dev/null. /etc/ 特定主机,系统范围内的配置文件. 关于这个名称目前有争议.在贝尔实验室关于UNIX实现文档的早期版本中,/etc 被称为

Linux信号详解

Linux信号详解 一 信号的种类 可靠信号与不可靠信号, 实时信号与非实时信号 可靠信号就是实时信号, 那些从UNIX系统继承过来的信号都是非可靠信号, 表现在信号 不支持排队,信号可能会丢失, 比如发送多次相同的信号, 进程只能收到一次. 信号值小于 SIGRTMIN的都是非可靠信号. 非可靠信号就是非实时信号, 后来, Linux改进了信号机制, 增加了32种新的信号, 这些信 号都是可靠信号, 表现在信号支持排队, 不会丢失, 发多少次, 就可以收到多少次. 信号值 位于 [SIGRTM

linux awk详解与应用

文章来自于本人个人博客: linux awk详解与应用 1.awk awk是一个强大的文本分析工具,它可以通过分析文本来生成一个数据报告.它的原理就是读取每行的输入,然后按照分隔符切分(默认是空格),再进行定制计算. awk '{print $1}' /etc/passwd   #打印出passwd文件的所有行的第一列 这是awk的基础语法,在awk中$n代表列数,即$1--第一列,$2---第二列....,但是$0代表整行 接下来我们按照指定的分隔符打印数据: awk -F ':' '{pri

linux命令详解

一.cat主要有三大功能: 1.一次显示整个文件.$ cat filename2.从键盘创建一个文件.$ cat > filename (只能创建新文件,不能编辑已有文件)3.将几个文件合并为一个文件: $cat file1 file2 > file 参数:-n 或 --number 由 1 开始对所有输出的行数编号-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行-v

PXE的概述及Linux使用详解

PXE的概述及使用详解 现在企业采购的很多计算机都是没光驱的,怎么安装系统呢?另外,如何能快速大规模安装Linux服务器操作系统呢,有什么好办法吗? 答案是有的,那就是本文要说的:PXE PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial filet

Linux权限详解,多用户多组各种权限配置原理

网上有太多关于Linux权限详解,这里不啰嗦那些.主要解释下这些权限是杂用的,否则知道了什么用户.组之类的权限也配不好. 一.权限分类 r:读取权限,数字代号为"4". w:写入权限,数字代号为"2". x:执行或切换权限,数字代号为"1". -:不具任何权限,数字代号为"0". linux内每一段为r+w+x的值,最大777,见下图 二.权限在何时使用 目录写权限:可以增删目录内所有内容,改文件和目录名. 目录读权限:可以l

10.Linux系统启动详解

10.Linux系统启动详解 ·1.BIOS,负责检查硬件并且查找可启动设备, ·2.MBR:Boot Code, ·bios找到可启动设备后执行其引导代码,MBR的前446字节, ·/boot/grub/stage1内容为当前硬盘MBR的镜像, ·3.执行引导程序-GRUB ·grub是现在Linux使用的主流引导程序,可以用来引导大多数主流系统, ·Linux的grub可以识别windows的启动程序,但windows的会覆盖Linux的,故先windows后Linux, ·grub相关文件