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. Json.Net 反序列化成匿名对象

    反序列化一个object var str1 = "{id:1,name:'111',x:[1,2,3],y:{a:'ssss',b:'dddd'}"; var obj1 = Jso ...

  2. Vertica添加磁盘

    本次实验环境是在虚拟机上 Vmware 12 操作系统是Centos 6.5 64位 1. 首先停止节点上的Vertica数据库,具体方法有很多 admintools -t stop_node -s ...

  3. 利用SignalR来同步更新Winfrom小试

    之前写了个用Socket来更新多个Winfrom的试例,这两天看了下SignalR,也用这个来试一下 SignalR 地址:https://www.asp.net/signalr 我这个也是基于 ht ...

  4. SpringMVC中异常捕获

    如果SpringMVC的action中发生异常,我们想将其跳转到一个固定的错误页面,可以通过applicationContext.xml中增加如下配置实现: <bean class=" ...

  5. 面试----java基础集合---------------------comparable和comparator 的区别

    comparable接口     是主要是用来自定义类存储在主要是TreeSet,TreeMap(键)集合中存储时,自定通过实现这种接口得到自然排序的功能. comparator 接口  是主要是用来 ...

  6. 中小型研发团队架构实践五:Redis快速入门及应用

    Redis的使用难吗?不难,Redis用好容易吗?不容易.Redis的使用虽然不难,但与业务结合的应用场景特别多.特别紧,用好并不容易.我们希望通过一篇文章及Demo,即可轻松.快速入门并学会应用. ...

  7. 穿过代理获取真正的IP

    /// <summary> /// 获取真ip /// </summary> /// <returns></returns> public string ...

  8. Android开发之旅4:应用程序基础及组件

    引言 为了后面的例子做准备,本篇及接下来几篇将介绍Android应用程序的原理及术语,这些也是作为一个Android的开发人员必须要了解,且深刻理解的东西.本篇的主题如下: 1.应用程序基础 2.应用 ...

  9. LeetCode CombinationSum

    class Solution { public: vector<vector<int> > combinationSum(vector<int> &cand ...

  10. CSS3入门学习之属性大全手册

    CSS Level 2 经历了 9 年的时间(从 2002 年 8 月到 2011 年 6 月)才达到 Recommendation(推荐) 状态.主要的原因是被一些 secondary featur ...