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. java.lang.NoSuchMethodError: org.json.JSONArray.iterator()Ljava/util/Iterator 阿里云短信

    请尝试使用 <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk ...

  2. 国际化实现之基于jquery

    jQuery.i18n.properties是一款轻量级的jQuery国际化插件,能实现Web前端的国际化. jQuery.i18n.properties 采用 .properties 文件对 Jav ...

  3. golang基础--细说defer

    defer 匿名函数特性 执行方式类似其它语言中的析构函数,在函数体执行结束后按照调用顺序的相反顺序逐个执行 //执行顺序相反 package main import "fmt" ...

  4. unity游戏开发之entitas框架

    框架介绍 entitas是一个超快.超轻量的c# Entity-Component-System (ECS)框架,专门为Unity引擎设计.提供内部缓存和高速的组件访问,经过精心设计,可以在垃圾收集环 ...

  5. [Codeforces 925C]Big Secret

    Description 题库链接 给出 \(n\) 个数,让你生成这 \(n\) 个数的一个排列 \(A\) .定义 \(B_i = \bigoplus\limits_{j=1}^i A_j\) , ...

  6. javascript中字符串常用操作总结

    String对象属性 (1) length属性 length算是字符串中非常常用的一个属性了,它的功能是获取字符串的长度.当然需要注意的是js中的中文每个汉字也只代表一个字符,这里可能跟其他语言有些不 ...

  7. JSONArray排序[收藏]

    问题 JSONArray中嵌套JSONObject, 对JSONArray进行排序 排序前: [{"id":1,"name":"ljw"}, ...

  8. Sql Server 中使用日期遍历

    一个存储过程小案例,内容如下: declare @dt datetime set @dt='2016-01-01' while (@dt<='2016-12-31') begin -- 转换字符 ...

  9. Docker 更改镜像存储位置

    在使用 Docker 的过程中,如果我们一切都以默认的设置进行操作的话,在使用一段时间之后你应该会发现系统的根目录空间越来越少,直到有一天发现空间都被占满了,最后发现原来是被 Docker 占用了.所 ...

  10. 简单的PHP的任务队列

    文章太长,不作过多介绍,反正,文章的头部就说明了大概的意思...原文如下:写了一个简单的队列任务处理.多进程任务,异步任务可能会用到这个(主要是命令行应用)比如,任务的某个一个环节速度十分不稳定,可能 ...