【linux基础】26、openssh基础

一、远程登录协议

1、telnet简介

以前,很少有人买得起计算机,更甭说买功能强大的计算机了。所以那时的人采用一种叫做Telnet的方式来访问Internet:也就是把自己的低性能计算机连接到远程性能好的大型计算机上,一旦连接上,他们的计算机就仿佛是这些远程大型计算机上的一个终端,自己就仿佛坐在远程大型机的屏幕前一样输入命令,运行大机器中的程序。人们把这种将自己的电脑连接到远程计算机的操作方式叫做“登录”,称这种登录的技术为Telnet(远程登录)。

2、Telnet的工作原理

当你用Telnet登录进入远程计算机系统时,你事实上启动了两个程序,一个叫Telnet客户程序,它运行在你的本地机上,另一个叫Telnet服务器程序,它运行在你要登录的远程计算机上,本地机上的客户程序要完成如下功能:

1) 建立与服务器的TCP联接

2) 从键盘上接收你输入的字符

3) 把你输入的字符串变成标准格式并送给远程服务器

4) 从远程服务器接收输出的信息

5) 把该信息显示在你的屏幕上

远程计算机的“服务”程序监听在tcp 22端口,一接到你的请求,它马上活跃起来,并完成如下功能:

1) 通知你的计算机,远程计算机已经准备好了

2) 等候你输入命令

3) 对你的命令作出反应(如显示目录内容,或执行某个程序等)。

4) 把执行命令的结果送回给你的计算机

5) 重新等候你的命令

3、telnet的使用

安装telnet服务器端和客户端:

[[email protected] ~]# yum install telnet telnetserver    #安装telnet客户端和服务端程序
[[email protected] ~]# rpm -ql telnet-server
/etc/xinetd.d/telnet                    #telnet是由超级守护进程管理的服务                 
/usr/sbin/in.telnetd
/usr/share/man/man5/issue.net.5.gz
/usr/share/man/man8/in.telnetd.8.gz
/usr/share/man/man8/telnetd.8.gz
[[email protected] ~]# rpm -ql telnet
/usr/bin/telnet
/usr/share/man/man1/telnet.1.gz

启动telnet-server:

[[email protected] ~]# service xinetd start

[[email protected] ~]# chkconfig telnet on

使用客户端telnet:

telnet [-l user] host-name [port]

[[email protected] ~]# telnet 192.168.10.4
Trying 192.168.10.4...
Connected to 192.168.10.4.
Escape character is ‘^]‘.
CentOS release 6.5 (Final)
Kernel 2.6.32-431.el6.x86_64 on an x86_64
login: root                                 #telnet默认禁止root远程登录
Password: 
Login incorrect

login: anyfish                              #要使用远程主机上的用户帐号和密码登录
Password: 
Login incorrect

login: xj
Password: 
Last login: Sat Jan  7 17:33:50 from Node3

[[email protected] ~]$

总结:

Telnet不是一种安全通信协议,因为它并不使用任何安全机制,通过网络/互联网传输明文格式的数据,包括密码,所以谁都能嗅探数据包,获得这个重要信息。

Telnet中没有使用任何验证策略及数据加密方法,因而带来了巨大的安全威胁,这就是为什么telnet不再用于通过公共网络访问网络设备和服务器。

telnet的最佳用途就是检查远程主机上任何特定服务(基于tcp协议的服务)的状态。

比如说,如果我们想要检查在本地服务器上通过端口80运行的Apache Web服务的状态,可以这么做:

[[email protected] ~]# telnet 192.168.10.3 22         #此时不需要远程主机开启了telnet服务
Trying 192.168.10.3...
Connected to 192.168.10.3.                     #已连接
Escape character is ‘^]‘.
SSH-2.0-OpenSSH_5.3
                             #此时阻塞在这里,是等待我们输入命令,就表示22号端口开启了,远程主机有服务监听在此端口,如果输入的命令不符合对方服务的协议就会被强制退出
Protocol mismatch.
Connection closed by foreign host.
[[email protected] ~]# 
[[email protected] ~]# telnet 192.168.10.3 23         #如果是没监听的端口,会明确的拒绝
Trying 192.168.10.3...
telnet: connect to address 192.168.10.3: Connection refused
[[email protected] ~]#

openssh客户端组件:

ssh:

ssh [email protected]

ssh -l USERNAME HOST

-p port:指定要连入端口

ssh认证机制:

基于口令:

基于密钥:

客户端在本地生成一对密钥,客户端将公钥复制到要登录的用户的家目录下.sshz中的一个名为authorized_keys或authorized_key2文件中

配置过程:

1、生成密钥对儿

# ssh-keygen [-t rsa]

时间: 2024-10-12 19:06:06

【linux基础】26、openssh基础的相关文章

Linux与云计算——第二阶段 第三章:SSH服务器架设(上)openssh 基础

Linux与云计算--第二阶段Linux服务器架设 第三章:SSH服务器架设(上)openssh 基础 1.密码认证 配置SSH服务器以便远程主机连接访问 [1] 即使你在安装CentOS系统的时候选择了最小化安装,OpenSSH也会被默认安装,所以你不需要再安装任何额外的软件包来实现该功能.缺省情况下你可以通过密码实现远程访问,如果需要增强安全性,建议还是要修改部分配置. [[email protected] ~]# vim /etc/ssh/sshd_config # line 49:去掉备

Linux安全与加密基础(二)

Linux安全与加密基础(二) 常见的加密算法 SSL: Openssl与CA认证 ssh服务 dropbear AIDE sudo gpg gpg亦可用于对称加密与文件检验. 文件完整性的两种实施方式 被安装的文件     MD5单向散列     rpm --verify package_name (or -V) 发行的软件包文件     GPG公钥签名     rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat*     rpm --checks

Linux运维常见基础面试练习题(2)

Linux运维常见基础面试练习题(2) 11 如何查看占用端口8080的进程. 方法一 [[email protected] data]# ps -ef|grep 8080 root       3886   3804  0 17:11 pts/1    00:00:00 grep 8080 [[email protected] data]# 12 Linux所有服务的启动脚本都存放在(/etc/rc.d/init.d )目录中. A /etc/rc.d/init.d  B /etc/init.

61   Linux系统调优基础

01 Linux系统调优基础 #显示进行在哪个cpu上运行 [[email protected] ~]# ps axo psr,     2 ntpd   1 qpidd   3 pickup   3 sshd   0 bash   2 pscomm     #显示进行在哪个cpu上运行,并显示进程的pid  [[email protected] ~]# ps axo psr,comm,pid   2 ntpd             3775   1 qpidd            9998

Linux系统自动化安装基础

Linux系统自动化安装基础 安装程序CentOS系统安装系统启动流程:bootloader-->kernel(initramfs)-->rootfs-->/sbin/init注意:安装过程中与启动过程中的文件不同 anaconda系统安装程序tui: 基于图形库curses的文本窗口gui:图形窗口 安装程序启动过程MBR: boot.catstage2: isolinux/isolinux.bin配置文件: isolinux/isolinux.cfg每个对应的菜单选项:加载内核: i

Linux学习系列——零基础开始

第一部分 Linux基础命令 1.查看系统信息命令 2.Linux内核版本 Linux学习系列--零基础开始,布布扣,bubuko.com

Linux服务器入侵检测基础

最近遇到了很多服务器被入侵的例子,为了方便日后入侵检测以及排查取证,我查询了一些linux服务器入侵取证的相关资料,并在此总结分享,以便日后查询. 一般服务器被入侵的迹象,包括但不局限于:由内向外发送大量数据包(DDOS肉鸡).服务器资源被耗尽(挖矿程序).不正常的端口连接(反向shell等).服务器日志被恶意删除等.那么既然是入侵检测,首先要判断的是服务器是否被入侵,必须排除是管理员操作不当导致的问题,因此入侵检测的第一项工作就是询问管理员服务器的异常现象,这对之后入侵类型的判断非常重要. 在

Linux Shell学习之基础篇

在学习Linux和OpenStack过程中,感觉不管是大规模部署部署还是运维,Shell脚本都已经是标配,所以学好脚本很有必要. 以下仅为Linux Shell的一些基础笔记,这里作为笔记记下. ===============linux shell简介====================== 1.命令补全:连续按两次Tab   文件或者文件夹补全:一次Tab   命令帮助:--help 2.chmod u=rwx,g+w,o+r filename   chown root.root file

Linux C 程序设计多线程基础篇

   Linux C 程序设计多线程基础篇 题记:因为 Linux 网络入侵检测系统的设计与实现希望使用多线程,因此希望系统的学习一下 Linux C程序设计多线程的知识 注意事项:因为 pthraed 库不是 Linux 系统默认的库,因此在进行多线程开发的时候,需要加上头文件#include <pthread.h>,编译时要加参数 -lpthread;了:gcc thread.c -o thread -lpthread. 进程和线程: 进程是程序执行,资源分配的基本单位,每个进程都拥有自己

Linux安全与加密基础(一)

Linux安全与加密基础(一) 常见的加密算法 SSL: Openssl与CA认证 ssh服务 dropbear AIDE sudo 常见的加密算法 密码学古以有之,尤其是在中国古代的战争中,在现在科技中,密码学不得不说是一门高深的学问,普通人知其一二足矣:本文要讨论的是关于加密与解密的基本原理与应用,以及关于Linux系统中的一些安全管理问题,如ssh服务,监控系统关键文件是否被篡改,sudo提权等. 1.对称加密 所谓对称加密,就是同一个密钥可以同时用作信息的加密和解密. 常见的对称加密算法