一、初始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. 致命错误:mysql/cli 目录 #include "mysql/client_plugin.h"

    居然说没有mysql.h这个文件,可是我确实安装了mysql了啊.......  原来是缺少libmysqlclient-dev,OK安装就是了 ubuntu下  :  audo apt-get in ...

  3. Configure: error: freetype.h not found. 的解决办法

    出现 Configure: error: freetype.h not found. 的解决办法 CentOS yum install freetype-devel Debian apt-get in ...

  4. OpenCV 之 图像分割 (一)

    1  基于阈值 1.1  基本原理 灰度阈值化,是最简单也是速度最快的一种图像分割方法,广泛应用在硬件图像处理领域 (例如,基于 FPGA 的实时图像处理). 假设输入图像为 f,输出图像为 g,则经 ...

  5. Oracle trunc()函数的用法--来着心静禅定ing

    1.TRUNC(for dates) TRUNC函数为指定元素而截去的日期值. 其具体的语法格式如下: TRUNC(date[,fmt]) 其中: date 一个日期值 fmt 日期格式,该日期将由指 ...

  6. springmvc(四) springmvc的数据校验的实现

    so easy~ --WH 一.什么是数据校验? 这个比较好理解,就是用来验证客户输入的数据是否合法,比如客户登录时,用户名不能为空,或者不能超出指定长度等要求,这就叫做数据校验. 数据校验分为客户端 ...

  7. 30分钟学会使用Spring Web Services基础开发

    时隔一年终于又推出了一篇30分钟系列,上一篇<30分钟学会反向Ajax>是2016年7月的事情了.时光荏苒,岁月穿梭.虽然一直还在从事Java方面的开发工作,但是私下其实更喜欢使用C++. ...

  8. Android - 读取JSON文件数据

    Android读取JSON文件数据 JSON - JavaScript Object Notation 是一种存储和交换文本信息的语法. JSON对象在花括号中书写.用逗号来分隔值. JSON数组在方 ...

  9. 手机摄像头扫描识别车牌号,移动端车牌识别sdk

    一.移动端车牌识别应用背景 (技术交流:18701686857  QQ:283870550) 随着经济水平的不断提高,汽车数量的不断激增为汽车管理带来了不小的难度.路边违章停车的现象越来越频繁.现在, ...

  10. Jmeter编写Base64加密函数

    方法一: 使用Beanshell Sampler.BSF Sampler等实现,现已Base64加密为例,脚本如下: import sun.misc.BASE64Decoder; String res ...