一、初始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. 从.src.rpm包中提取出完整的源码的方法

    1 什么是完整的源码 就是说,最初始的源码加上打了所有的patch后的源码,即最新的源码. 2 过程 2.1 从.src.rpm中提取完整的rpm工程文件 2.1.1 rpm to cpio rpm2 ...

  2. Python3 从入门到出门

    引:此文是自己学习python过程中的笔记和总结,适合有语言基础的人快速了解python3和没基础的作为学习的大纲,了解学习的方向:笔记是从多本书和视频上学习后的整合版. (一)初识python 1. ...

  3. Python重定向到文件

    1.方式1 __file__ = open(r'log.txt', 'a') print >>__file__, "hello, world!" __file__.cl ...

  4. Docker快速入门

    Docker已经火了很长一段时间,最近打算在阿里云上好好熟悉一下Docker的相关应用,为今后的工作做准备. 基本概念 Docker是基于Go语言实现的云开源项目,诞生于2013年初,最初发起者是do ...

  5. 上传图片并生成相关缩略图-PHP

    if(!empty($_FILES["fileField"]["name"])){//检测表单传递文件数据 $fileinfo = $_FILES[" ...

  6. 计算BMI

    用一个小程序计算BMI 代码如下: package Day06; public class BMI { private String name; private int age; private do ...

  7. Android 上层应用读写设备节点

    Android 上层应用读写设备节点 Android L [TOC] 1. Android 设备节点 Android基于Linux内核.设备节点文件是设备驱动的逻辑文件,可以通过设备节点来访问设备驱动 ...

  8. (转)生产者/消费者问题的多种Java实现方式 (待整理)

    实质上,很多后台服务程序并发控制的基本原理都可以归纳为生产者/消费者模式,而这是恰恰是在本科操作系统课堂上老师反复讲解,而我们却视而不见不以为然的.在博文<一种面向作业流(工作流)的轻量级可复用 ...

  9. HTML5 开发APP(头部和底部选项卡)

    我们开发app有一定固定的样式,比如头部和底部选项卡部分就是公共部分就比如我在做的app进来的主页面就像图片显示的那样 我们该怎么实现呢,实现我们应该建一个主页面index.html,然后建五个子页面 ...

  10. webpack模块解析

    前面的话 在web存在多种支持JavaScript模块化的工具(如requirejs和r.js),这些工具各有优势和限制.webpack基于从这些系统获得的经验教训,并将模块的概念应用于项目中的任何文 ...