Telnet协议和SSH协议

2023-05-16

1.Telnet协议定义:远程登陆协议,用于对设备进行远程管理,基于明文目前不建议使用,建议采用SSH协议,采用TCP 23号端口

2.原理:Telnet12.0.1.28/telnet route-server.ip.att.net

telnet的C/S模式
telnet采用客户端/服务器模式。下图为telnet客户端和服务器连接图:

如图为: 

 

telnet使用的传输协议为TCP。
telnet连接的任何回显信息,最终都会输出到终端上。
服务器进程直接与“伪终端设备”交互。
客户端和服务器通过一条TCP连接来传输命令和数据。

Telnet客户进程同时与终端用户和TCP/IP协议模块进行交互。

服务器进程则经常与伪终端设备进行交互,服务器直接调用登陆SHELL进程。

大方框里的内容一般是操作系统内核的一部分,而客户进程和服务器进程则是应用程序。

1.SSH协议定义:Secure Shell,安全外壳协议,简称ssh,是一种建立在应用层基础上的安全协议,通过对密码进行加密传输验证,可在不安全的网络中对网络服务提供安全的传输环境,实现ssh客户端和ssh服务器端的连接,所以ssh是基于C/S结构

ssh是一种安全通道协议,主要用来实现字符界面的远程登陆,远程复制等功能。
ssh默认使用22号端口,采用密文的形式在网络中传输数据,它将客户端与服务端之间的消息通过加密保护起来,这样就无法被窃取或者篡改了。相较于明文传输的telnet,具有更高的安全性。
ssh采用口令和密钥两种用户验证方式,这两者都是通过密文传输数据的。

ssh协议建立连接的过程为:

tcp三次握手

ssh协议版本协商

服务器端把公钥发给客户端

加密算法协商

客户端使用公钥对服务器端的密码加密并发送给服务器端

服务器端收到后用自己的私钥解密后得到用户名密码和本地密码对比,验证成功允许登录,否则需要客户端再次输入密码验证

ssh是应用层协议,它的传输层协议是tcp,所以在ssh登录之前必定会有tcp连接

ssh是C/S架构,客户端通过ssh协议远程登录服务器端,所以它必须要有服务器端的密码,并发送给服务器端,以便服务器验证成功后,才能运行客户端登录自己

OPENSSH服务由openssh,openssh-sever,openssh-cilents等软件包
openssh:包含OpenSSH服务器及客户端需要的核心文件
openssh-clients:OpenSSH客户端软件包
openssh-sever:OpenSSH服务器软件包
基于密钥(钥匙琐头)的安全验证
基于密钥的安全验证方式是指,需要依靠密钥,也就是必须事先建立一对密钥对,然后    把**公用密钥(锁头:public key)放在需要访问的目标服务器上,另外,还需    要把**私有密钥**放到**ssh的客户端或者对应的客户端服务器上。
具体过程
安装ssh协议的命令

1.sudo apt install openssh-client #本地主机运行此条,实际上通常是默认安装client端程序的
2.sudo apt install openssh-server #服务器(被登陆的机器)运行此条命令安装
运行ssh远程传输协议 运行起来之后,在服务器端会有一个sshd的进程。

查看是否运行sshd进程的命令

1.ps -elf|grep sshd
当有root用户下面的 /usr/sbin/sshd -D 这一条显示 表示服务器端有运行了ssh协议。

查看是否能连同到这个服务器端

//首先ping上服务器端的IP地址 处于同一个局域网内
ping 192.168.43.50
//然后用其他电脑登陆到服务器上
//首次登陆的时候会问是否接受保持密钥 输入yes  最后输入服务器端的用户的密码
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Telnet协议和SSH协议 的相关文章

  • 在 Mac OSx 上通过 SSH 连接到 EC2 时出现权限错误

    我是 EC2 新手 我从该网站创建了我的安全凭证 http paulstamatiou com how to getting started with amazon ec2 http paulstamatiou com how to get
  • 无法通过 ngrok ssh 进入远程 Linux

    远程Linux计算机位于内部网络中 没有公共IP地址 所以我安装了ngrok ngrok tcp 22 ngrok by inconshreveable Ctrl C 退出 在线隧道状态版本2 0 19 2 0 17网页界面http 127
  • 如何使用 OpenShift 为裸域添加别名?

    如何使我的裸域指向我的 Openshift 应用程序 可以在 Openshift 在线仪表板中完成还是只能通过rhc公用事业 但是我不确定要执行哪些步骤 这是一个两步过程 首先 确保您有一个提供裸机支持的 DNS 提供商CNAMES 然后添
  • ssh-add,自动添加私钥

    我有一个公私 ssh 密钥对 由ssh keygen without密码 我将它与我的 bitbucket 帐户一起使用 特别是与 Mercurial 存储库一起使用 通常我在我的家庭工作电脑中手动添加私钥 使用ssh add ssh id
  • 无法将主机添加到已知主机列表,如何调试[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 尝试使用 v 进行 ssh 输出是 ccc es chen ssh cccadmin ccchost A X v OpenSSH 5 9p
  • 使用 PHP SSH 连接到远程服务器

    我想做一个SSH使用 php 连接到远程服务器 我在 Linux CEntOS 上使用 php 5 3 到目前为止我所做的 connection ssh2 connect 192 168 1 22 22 ssh2 auth password
  • 使用 Java 通过 SSH 连接到 MySQL

    我想使用 Java 连接到 Amazon EC2 服务器上的 MySQL 数据库 我可以使用 Jsch 库创建 ssh 隧道并将端口转发到该服务器 但是连接到数据库总是以异常结束 java io EOFException 无法从服务器读取响
  • 使用 SSH 从 BitBucket pip 安装自定义包,无需在 Docker 构建期间输入 SSH 密码

    我正在尝试 pip 安装 通过conda env create命令 来自 BitBucket 的自定义 python 包docker build命令 无需输入 SSH 密码 密码 这个问题类似于这另一个问题 https stackoverf
  • 使用 paramiko 检查远程主机上是否存在路径

    帕拉米科的SFTP客户端 http www metasnark com paramiko docs paramiko SFTP class html显然没有exists方法 这是我当前的实现 def rexists sftp path os
  • 无法通过 SSH 连接到 openshift

    我在通过 SSH 访问 Openshift 时遇到问题 我仍然可以通过 Git 将代码推送到 Openshift 但是 当尝试通过 SSH 连接到 Openshift 时 服务器被拒绝 并显示错误 没有可用的受支持的身份验证方法 服务器发送
  • 远程nodejs服务器部署永远

    我正在尝试通过提交后钩子在远程计算机上部署节点js服务器 该钩子将调用远程计算机上执行实际部署的脚本 我面临的问题是 如果我在计算机上运行远程脚本 它可以正常工作 但是当我尝试通过 ssh 命令执行相同的脚本时 服务器无法启动 这就是我的提
  • 有没有办法使用 Paramiko 和 Python 来获取您连接的 SSH 服务器的横幅?

    有没有办法使用 Paramiko 和 Python 来获取您尝试连接的 SSH 服务器的横幅 我正在处理许多机器的超安全服务器设置过程 密码是通过预定义的密钥生成的 该密钥与 SSH 横幅一起打印出来 我可以访问将为我提供密码的实用程序 但
  • 开始作业时无法识别功能

    我在模块 sysinfo psm1 中创建了一个函数 Get Uptime 并导入了该模块 C pstools gt get command Module sysinfo CommandType Name Definition Functi
  • 用于搜索内部文件的 ssh 命令

    几周前 我的两个网站可能被 ftp 暴力攻击所利用 破坏了我网站的许多文件 我发现他们通常会在js或php文件中插入以下代码 Trojan code removed as irrelevant to this question 我想通过 s
  • ssh:无法确定主机“主机名”的真实性

    当我 ssh 到一台机器时 有时我会收到此错误警告 并提示说 是 或 否 当从自动 ssh 到其他机器的脚本运行时 这会导致一些问题 警告信息 The authenticity of host
  • 如何在接收端打开没有 SSHD 的 shell?

    我有一台没有 SSHD 的机器 我想从远程机器 我可以完全控制 在这台机器上打开 bash shell 由于我的有限机器上有 SSH 因此我配置了反向代理 ssh R 19999 localhost 22 remoteuser remote
  • 强制 telnet 客户端进入字符模式

    我有一个应用程序 我接受来自 telnet 客户端的套接字连接 并建立一个简单的键盘驱动的字符 GUI telnet 客户端 至少在 Linux 上 默认为一次一行模式 所以我总是必须这样做 mode char手动 浏览相关 RFC 表明
  • 如何将 Mercurial 存储库克隆到已存在的目录中?

    我有一个客户的 Django 项目 正在本地开发 使用 Mercurial 进行版本控制 我将本地存储库推送到我的个人远程服务器 我保存所有项目的地方 然后当我部署它时 在任何 Web 服务器上 我从我的个人服务器克隆该存储库 这在大多数服
  • 如何让SSH命令执行超时

    我有一个这样的程序 ssh q email protected cdn cgi l email protection exit echo output value gt 在上面的代码中 我尝试通过 SSH 连接到远程服务器 并尝试检查是否可
  • 流浪家园慢

    我有一个基于 Laravel Homestead 的 vagrant 服务器 用于在本地测试我的 Laravel 站点 大部分情况下它运行得很好 然而 最近 我遇到了问题 它会停止几分钟 典型 到几个小时 罕见 这种情况每 15 分钟左右就

随机推荐

  • Keil V5仿真出现*** error 65: access violation at 0x40021000 : no ‘read‘ permission 解决办法

    Keil V5仿真出现 error 65 access violation at 0x40021000 no 39 read 39 permission 解决办法 问题解决办法1 进入debug的map设置地址2 新建debug ini配置
  • Ardupilot-NMEA协议的GNSS处理优化

    Ardupilot NMEA协议的GNSS处理优化 Ardupilot NMEA协议的GNSS处理优化原固件存在的问题解决办法 Ardupilot NMEA协议的GNSS处理优化 原固件存在的问题 1 当所使用的GNSS模块数据反馈频率不到
  • FMT-模型在环仿真(MIL)

    前提条件 matlab版本是2018B及以上版本下载好了FMT Model工程 设置MIL仿真 打开matlab xff0c 进入到FMT Model目录 xff0c 左键双击打开FMT Model prj 打开过程它自己会初始化工程 xf
  • 【移植Ardupilot的日志记录方法到linux上】

    移植Ardupilot的日志记录方法到linux上 说明日志结构组成日志写入操作预定义日志项运行时添加日志项的方法 单例测试编译方法查看数据其他 说明 采用二进制文件记录 xff0c 可在mission planer查看 支持所有数据类型记
  • 一、linux内核源码分析(内核源码结构组成)

    应该说是把linux内核这部分知识提前了 xff0c 因为坐公交需要点视频来打发一下时间 xff0c 感觉linux内核的视频就不错 xff0c 就顺便把linux内核提前了 这一次也是打算视频和书一起看 xff0c 然后总结 书的话还是推
  • Android开发:使用Lambda表达式高效开发

    简介 xff1a JDK1 8后java开始支持Lambda表达式 xff0c 使用Lambda表达式我们就可以在Android中替换匿名类的写法 本来一个Button点击事件监听要写6行代码 xff0c 我们1行就可以搞定 1 引入依赖
  • ros开发与室内定位(一)

    ROS下搭建 UWB 下行数据解析驱动 Linux内核版本 xff1a ubuntu 15 05 ROS版本 xff1a indigo 搭建局域网 xff0c 向网内的主机提供室内标签实时的定位信息 xff0c 该Demo可以利用UDP协议
  • ubuntu1604 ROS下实时双目ORB-SLAM的环境搭建

    本文主要记录本萌新从零开始搭建ORB SLAM环境的一个过程 xff0c 因为第一次装双系统 xff0c 本来就遇到了很多的问题 来来回回装了好多天才弄好 xff0c 中间遇到的主要问题和步骤参考放在下边 xff0c 可能帮助到别人的话就倍
  • 机器学习题目汇总

    1 深度学习中的激活函数需要具有哪些属性 xff1f 计算简单非线性具有饱和区几乎处处可微 ABD 解析 xff1a xff08 1 xff09 非线性 xff1a 导数不能是常数 xff08 2 xff09 几乎处处可微 xff1a si
  • 天猫精灵云云对接

    天猫精灵云云对接 一 技能开发二 产品开发 接入过程出现了一些问题 xff0c 特此记录 xff0c 用来给朋友们参考 xff0c 随意记录 xff0c 不接受批评 前情提要 xff1a 注册并认证 天猫精灵开放平台 AliGenie 一
  • 关于Altium Designe中元器件添加PDF的简述

    一 缘由 xff1a 今天无意之间在书本上看到关于元器件的Datasheet添加 xff0c 也想起自己曾经为了查询元器件datasheet xff0c 费了不少时间 xff0c 所以写下了此篇博文 二 关于添加步骤 xff1a 1 打开自
  • opencv面试知识点

    文章目录 一 opencv基础1 OpenCV中cv Mat的深拷贝和浅拷贝问题2 opencv常用数据结构和函数2 1 QImage和Mat之间的转换 3 颜色空间 RGB HSV4 基本图形的绘制 二 opencv xff08 core
  • VSCode 整理格式快捷键

    Shift 43 Alt 43 f
  • 【情人节特辑】相机也成双——直观理解对极几何中的四个重要矩阵(外参矩阵、内参矩阵、基本矩阵、本质矩阵)

    祁子禹 引言 在奔逸不羁的童年 xff0c 笔者对理科知识的好奇无际无边 某天曾在外婆家的煤棚子里一通乱翻 xff0c 缴获了大舅学生时代的几何光学课本 xff0c 不料遭遇开幕雷击 xff1a 人的眼球好比照相机 xff0c 我们要为革命
  • 【2022小米秋招(2023校招)】软件开发方向 笔试题1——链表反转

    题目 xff1a 给你单链表的头指针 head 和两个整数 left 和 right xff0c 其中 left lt 61 right 请你反转从位置 left 到位置 right 的链表节点 xff0c 返回反转后的链表 输入描述 xf
  • 使用stm32裸机或者rtt系统遇到的坑

    目录 一 rt thread使用 16 LSE晶振初始化会出现一定的失败几率 15 串口队列溢出的问题 14 升级失败问题 13 rt thread PWM1 CH1 CH1N 无法同时使用问题 12 使用换用c8芯片不能进入main函数
  • k8s网络通信原理

    https blog csdn net qq 41688840 article details 108708415 要了解和分析Pod中的container容器网络 xff0c 那么首先肯定是要了解docker容器网络的几种模式以及常见用法
  • 修改mavros中话题的发布频率

    修改mavros中话题的发布频率 参考链接及命令分析 参考了以下文章的提高mavros中提高IMU话题频率的方法 xff0c 再通过其介绍推出其他话题的频率修改方法 提高mavros中IMU话题的发布频率 修改命令的含义分析 作者提到了以下
  • Docker入门到实践 (五) docker数据的备份、恢复与迁移

    文章目录 一 前言二 docker数据的备份 恢复与迁移方式一 xff1a docker容器的备份 恢复与迁移1 docker容器的备份 导出 2 docker容器的迁移与恢复 导入 方式二 xff1a docker镜像的备份 恢复与迁移1
  • Telnet协议和SSH协议

    1 Telnet协议定义 远程登陆协议 xff0c 用于对设备进行远程管理 xff0c 基于明文 目前不建议使用 xff0c 建议采用SSH协议 xff0c 采用TCP 23号端口 2 原理 xff1a Telnet12 0 1 28 te