ssh原理:

ssh是一种专为远程登陆会话和其他网络服务提供安全性的协议,主要用于远程登陆。

ssh采用公钥加密,在远程连接时,远程主机接收到用户的登录请求,将自己的公钥发送给用户,用户使用这个公钥将登录密码加密后发送给远程主机,远程主机再用自己的私钥解密,密码正确则同意用户登录。

但是,整个过程还是存在一个问题,就是用户并不知道,给自己发送公钥的远程主机是否是自己想要登录的远程主机,也就是说存在中间人攻击,当第三方截获了用发起的登录请求后,可冒充远程主机发送一个伪造的公钥给用户(SSH协议的公钥是没有证书中心公证的),于是接下来的整个过程就变成了用户和第三方的通讯,那么第三方便可从用户那儿获取远程主机的登录密码,然后再用这个密码登录远程主机

于是ssh又加入了一项公钥指纹的认证,在用户第一次登录远程主机时,会收到这样一段信息:

他的意思是,无法确认远程主机的真实性,但知道它的公钥指纹,是否要继续连接,这里的公钥指纹是采用RSA算法加密后,又做了一次md5加密:

通常,远程主机会在自己的网站上贴出公钥指纹,用户可以进行核对,在确认后输入yes,会让你输入登录密码,密码正确就成功登录了

实验环境:

VM虚拟机(CentOS7,CentOS Server)

将CentOS7和CentOS Server的网络适配器改为桥接模式,在桥接模式下,虚拟机类似于局域网中的一台独立主机,可以访问内网中的任何一台机

在CentOS7和CentOS Server中输入ip addr查看ip,发现ens33网卡没有inet属性,于是打开ens33网卡的配置文件:

vi /etc/sysconfig/network-scripts/ifcfg-ens33

将onboot=“no”改为“yes”(默认情况下CentOS7是不启用网卡的)

重启网络服务:sudo service network restart

此时用物理主机ping虚拟机IP可以ping通:

两台虚拟机可以相互ping通后,在CentOS7中安装ssh:

yum install openssh-server -y

然后用命令ssh 主机名@CentOS Server_IP或者ssh CentOS Server_IP远程登录CentOS Server

当然还有一种推荐方式:可以在windows下用Xshell访问CentOS7或CentOS Server

参考文献:

http://www.linuxidc.com/Linux/2016-03/129204.htm

http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html

http://www.linuxidc.com/Linux/2017-03/141333.htm

ssh连接CentOS7服务器的更多相关文章

  1. ssh连接linux服务器只显示-bash-4.1#不显示路径解决方法

    ssh连接linux服务器只显示-bash-4.1#不显示路径时,我们只需要修改  ~/.bash_profile文件,如果不存在这个文件,那么新建一个,增加内容  export PS1='[\u@\ ...

  2. Mac下ssh连接远程服务器时自动断开问题

    在mac下使用securecrt通过ssh连接远程服务器时,总会一段时间没有动作后,ssh被自动断开.在windows下用xmanager貌似没有遇到过这个问题. 在网上找了解决方法如下: 客户端配置 ...

  3. [转]学习win10的bash使用ssh连接远程服务器

    1. 前言 微软已经在Win10一周年更新预览版中加入了Ubuntu Bash命令支持,相当于一个小型的linux系统,本来连接远程服务器的话,要使用putty啥的,现在可以用这个直接连接,我来讲讲步 ...

  4. Python ssh连接Linux服务器报Incompatible ssh peer (no acceptable kex algorithm) 解决方法

    python通过ssh连接linux服务器,部分服务器出现如下异常 03:50:48.725 FAIL ftp operation failed, Incompatible ssh peer (no ...

  5. 使用SSH连接AWS服务器

    使用SSH连接AWS服务器 一直有一台AWS云主机,但是之前在Windows平台都是使用Xshell连接的,换到Ubuntu环境之后还没有试,昨天试了一下,终于使用SSH连接成功了,这里记录一下步骤: ...

  6. Mac使用SSH连接远程服务器

    1. 终端通过 ssh 连接远程服务器 ssh -p 36622 root@localhost 2. 文件上传下载 上传 scp 下载 scp 3. 客户端 FinalShell(推荐) FileZi ...

  7. mac通过自带的ssh连接Linux服务器并上传解压文件

    需求: 1:mac连接linux服务器 2:将mac上的文件上传到linux服务器指定位置 3:解压文件 mac上使用命令,推荐使用 iterm2 .当然,也可以使用mac自带的终端工具. 操作过程: ...

  8. Python实现SSH连接远程服务器

    首先需要安装paramiko模块 #-*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" import paramiko ssh = p ...

  9. VsCode通过SSH连接远程服务器开发

    前言 nil 正文 安装插件 安装VsCode官方插件 Remote - SSH Remote - SSH: Editing Configuration Files WSL(远程桌面连接需要Remot ...

随机推荐

  1. 亿级别记录的mongodb批量导入Es的java代码完整实现

    针对mongodb亿级别或者十亿级别的模糊查询,效率不高,解决方式是使用Es查询,这样就需要把数据导入的ES中 完整的代码实现如下所示:(仅供参考) import java.io.IOExceptio ...

  2. 小程序之底部tabBar

    用法简介: 1.app.json中配置下tabBar即可,注意tabBar至少需要两个最多五个Item选项 这里简单列举一些属性值:对于tabBar整体属性设置: 对于tabBar中每个Item属性设 ...

  3. git常用命令小记

    git status 查看缓存区和工作区的状态 +表示N个新文件 ~表示N个修改 -表示N个删除 两组的时候前面的是暂存区,后面的是工作区 git add fileName 变更文件状态(工作区--& ...

  4. cordova打包APK,报错:Cannot evaluate module CordovaLib : Configuration with name 'debug' not found.

    原因:之前做其他项目的时候把环境(gradle)升级了. 解决方案:将gradle降低回原来的版本.

  5. 设置input标签placeholder字体颜色

    有时会遇到这样的需求,输入框的默认提示文字与用户输入的文字不同. <input className="city" placeholder="城市"/> ...

  6. ARP协议抓包之帧长度和Gratuitous ARP的问题

    用Winpcap编程构造ARP包选择网卡并发出,遇到若干问题,学到了许多新知识,但是有的还尚未解决,在这里记录下没解决的和解决的问题. 先来看下ARP协议的格式,ARP字段有28个字节,发到以太网中还 ...

  7. 17.async 函数

    async 函数 async 函数 含义 ES2017 标准引入了 async 函数,使得异步操作变得更加方便. async 函数是什么?一句话,它就是 Generator 函数的语法糖. 前文有一个 ...

  8. [转]Lost parameter value during SQL trace in EF Core DbParameter 为 问号 ?

    本文转自:https://stackoverflow.com/questions/44202478/lost-parameter-value-during-sql-trace-in-ef-core 问 ...

  9. [转]AngularJS中$timeout和$interval的用法详解

    本文转自:http://www.cnblogs.com/moli-/p/5827618.html 1. 先将$interval,$timeout,作为参数注入到controller中,例如rds.co ...

  10. Spring Security 源码解析(一)

    上篇 Spring Security基本配置已讲述了Spring Security最简单的配置,本篇将开始分析其基本原理 在上篇中可以看到,在访问 http://localhost:18081/use ...