一、初始SSH

SSH是标准的网络协议,可用于大多数UNIX操作系统,能够实现字符界面的远程登录管理,它默认使用22号端口,采用密文的形式在网络中传输数据,相对于通过明文传输的Telnet,具有更高的安全性。

SSH提供了口令和秘钥两种用户验证方式,这两者都是通过密文传输数据的。

不同的是,口令用户验证方式传输的是用户和密码,这要求输入的密码具有足够的复杂度才能具有更高的安全性。

而基于密钥的安全验证必须为用户自己创建一对密钥,并把共有的密钥放在需要访问的服务器上,当需要连接SSH服务器上时,客户端软件会向服务器发出请求,请求使用客户端的密钥进行安全验证。服务器收到请求之后,先在该用户的根目录下寻找共有密钥,然后把它和发送过来的公有密钥进行比较。如果两个密钥一致,服务器就用公有的密钥加密“质询”,并把它发送给客户端软件。客户端收到质询之后,就可以用本地的私人密钥再把它发送给服务器。这种方式是相当安全的。

二、检测与安装SSH

2.1、查看是否已安装SSH服务

#rpm -qa|grep -E openssh

2.2、安装SSH(如果未安装可执行此步骤)

#yum -y install openssh-server

2.3、SSH服务状态

启动:# systemctl start sshd.service

停止:# systemctl stop sshd.service

重启:# systemctl restart sshd.service

开机启动:# systemctl enable sshd.service

说明:在云服务器 ECS Linux CentOS 7 下重启服务不再通过 service  操作,而是通过 systemctl 操作。

三、启动SSH服务

3.1、注意:

CentOS 7.1安装完后默认已经启动了ssh服务我们可以通过以下命令来查看ssh服务是否启动。

3.2、查看22端口是否开放

#netstat -tnl

3.3、查看ssh服务是否启动

#systemctl status sshd.service

四、SSH客户端连接服务器(口令认证)

4.1、直接连接对方的主机,这样登录服务器的默认用户

# ssh 192.168.207.128

4.2、使用账号登录对方主机ly用户

# ssh ly@192.168.207.128

五、SSH客户端连接服务器(密钥认证)

这种认证方式是比较安全的。

密钥认证步骤:

1、生成公钥和私钥,生成的密钥默认在/root/.ssh/文件夹里面

# ssh-keygen(直接全部回车)

# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa(非交互式生产密钥)

Enter file in which to save the key (/root/.ssh/id_rsa):   //设置钥匙的名称,默认为id_rsa

Enter passphrase (empty for no passphrase):   //设置保护私钥文件的密码,即密钥登录时的密码(如果设置了密码,去除办法:ssh-keygen -p命令把密码改为空即可)

Enter same passphrase again:  //再次输入保护私钥文件的密码

id_rsa     //创建的私钥

id_rsa.pub  //创建的公钥

2、把生成的公钥发送到对方的主机上去,用ssh-copy-id命令,自动保存在对方主机的~/.ssh/authorized_keys文件中去。

# ssh-copy-id -i /root/.ssh/id_dsa.pub ly@192.168.207.143

3、免密码登入测试

# ssh ly@192.168.207.143

说明:ssh服务端.ssh目录权限为700,.ssh/authorized_keys的权限为600。

SSH服务(一)的更多相关文章

  1. 2016-11-05实战-定义ssh服务的日志

    1.编辑/etc/rsyslog.conf 输入 local 0 .*     /var/log/sshd.log   #日志的保存路径 2.定义ssh服务的日志级别 编辑sshd服务的主配置文件:/ ...

  2. Ubuntu ssh服务安装

    在使用xshell连接ubuntu虚拟机时,提示 Could not connect to '192.168.0.106' (port 22): Connection failed. 在主机使用pin ...

  3. ubuntu开启SSH服务

    SSH分客户端openssh-client和openssh-server 如果你只是想登陆别的机器的SSH只需要安装openssh-client(ubuntu有默认安装,如果没有则sudo apt-g ...

  4. Linux mint 18版本开启SSH服务

    linux mint 18版本默认是没有安装ssh server的 需要手动安装 安装ssh server: 此命令需要联网,会自动下载安装 安装之后看是否开始了ssh, 看到ssh-agent 和s ...

  5. 如何开启ubuntu的SSH服务

    buntu默认并没有安装ssh服务,如果通过ssh链接ubuntu,需要自己手动安装ssh-server,然而SSH分客户端openssh-client和服务端openssh-server,opens ...

  6. 创建支持ssh服务的docker容器和镜像

    http://www.kongxx.info/blog/?p=57 1. 这里使用的centos作为容器,所以首先下载centos的imagessudo docker pull centos 2. 下 ...

  7. kali ssh服务开启登录

    vi /etc/ssh/sshd_config 将#PasswordAuthentication no的注释去掉,并且将NO修改为YES //kali中默认是yes 2. 将PermitRootLog ...

  8. 如何在ubuntu中启用SSH服务

    如何在ubuntu14.04 中启用SSH服务 开篇科普:  SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定:SSH 为 ...

  9. 安装ssh服务

    1.先更新下源 sudo apt-get update 2.安装ssh服务 sudo apt-get openssh-server 3.配置ssh-server,配置文件位于/etc/ssh/sshd ...

  10. 添加或修改ssh服务的端口

    通常ssh远程登录的默认端口是22,这个端口一般是可以更改或者添加的,配置文件位置在:/etc/ssh/sshd_config通过编辑文件可以修改sshd服务的相关配置,以下新增端口2223,即除了2 ...

随机推荐

  1. c# 测试通过

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data; using S ...

  2. vijos1057题解

    题目: 永恒の灵魂最近得到了面积为n*m的一大块土地(高兴ING^_^),他想在这块土地上建造一所房子,这个房子必须是正方形的. 但是,这块土地并非十全十美,上面有很多不平坦的地方(也可以叫瑕疵).这 ...

  3. Java版简易画图板的实现

    Windows的画图板相信很多人都用过,这次我们就来讲讲Java版本的简易画板的实现. 基本的思路是这样的:画板实现大致分三部分:一是画板界面的实现,二是画板的监听以及画图的实现,三是画板的重绘.(文 ...

  4. Java 9 揭秘(13. Collection API 更新)

    Tips 做一个终身学习的人. 在本章中,主要介绍以下内容: 在JDK 9之前如何创建了不可变的list,set和map以及使用它们的问题. 如何使用JDK 9中的List接口的of()静态工厂方法创 ...

  5. 解决win10注册错误 错误代码0x8002801c

    使用win10的过程中经常碰到各种注册错误,让人抓狂!!! 现在分享一个完美的解决方法(非原创): 最简洁的办法是:1.自行将msinet.ocx(win10系统64位)组件复制到C:\Windows ...

  6. Spark笔记——技术点汇总

    目录 概况 手工搭建集群 引言 安装Scala 配置文件 启动与测试 应用部署 部署架构 应用程序部署 核心原理 RDD概念 RDD核心组成 RDD依赖关系 DAG图 RDD故障恢复机制 Standa ...

  7. Spring boot——logback 基础使用篇(一)

    1 简单日志配置 spring boot内部使用Commons Logging来记录日志,但也保留外部接口可以让一些日志框架来进行实现,例如Java Util Logging,Log4J2还有Logb ...

  8. [node] node 版本更新

    一. 命令 node -v sudo npm cache clean -f // 清除缓存 sudo npm install -g n // 安装Node 模块 sudo n stable // 升级 ...

  9. MySQL学习笔记(五):MySQL表级锁和行级锁

    一:概述 相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制.比如,MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking ...

  10. Openresty使用Thrift安装步骤

    最新想用Golang与Openresty相互通讯调用,使用RPC协议来实现,后来研究最终选择了Thrift:主要还是FB实现了支持Lua和Go模块,直接编译就可以成功嵌套使用,非常方便:研究了两天最后 ...