什么是SSH:

SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。当主机中开启openssh服务,那么就对外开放了远程连接的接口,ssh为openssh服务的客户端,sshd为openssh服务的服务端。

实验:1.安装开启sshd服务,首先使用用户名、密码登录方式登录。

在虚拟机中登录CentOS 7操作系统,使用命令 systemctl status sshd.service 查看sshd服务状态

可以看到CentOS 7中是默认安装sshd服务的,接下来使用putty64工具登录系统

首先查看centos 7地址,使用命令ip addr

打开putty工具,在Host Name(or IP address)输入虚拟机IP,在Port输入默认端口号22,点击Open打开

使用虚拟机用户名、密码进行登录

centos7操作SSH/SSHD服务(查看/启动/重启/自启)

查看状态: systemctl status sshd.service

启动服务: systemctl start sshd.service

重启服务: systemctl restart sshd.service

开机自启: systemctl enable sshd.service

2.配置sshd,root用户不可登录

首先编辑/etc/ssh/sshd_config文件,使用命令vim /etc/ssh/sshd_config

修改systemctl restart sshd后面的yes为no,将前面的#去掉,使用i进入编辑模式,进行修改,修改后按Esc,进入命令模式,然后用Shift+ZZ保存退出。

重启sshd服务,使用命令 systemctl restart sshd.service

重新打开putty,连接虚拟机,输入root用户名,密码,进行登录。正确的密码提示Access denied ,访问被拒绝。

3.使用公钥证书认证方式登录,非密码方式。

首先修改配置文件/etc/ssh/sshd_config,将下列三项前面的注释# 去掉,就是可以让秘钥登录

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

下载puttygen.exe工具,双击打开

点击Generate,开始生成密钥,在页面中间空白区域来回移动鼠标,可以快速生成密钥。

区域内生成的就是公钥,“Key comment”保持不变也可以编辑,用来对密钥介绍。“Key passphrase”是用来给私钥加密,“Confim passphrase”是重复输入密码,使用认证登录时,只加载私钥输入这个密码就可以登录系统。点击Save private key保存私钥到本地

复制公钥到服务器。点击公钥进行复制,粘贴到/root/.ssh/authorized_keys文件下。首先使用 mkdir /root/.ssh 创建目录,命令 mkdir /root/.ssh

修改目录权限为700,命令 chmod 700 /root/.ssh/

新建文件anthorized_keys,命令 vim /root/.ssh/authorized_keys,将公钥粘贴进去,保存退出(此时可以设置root为可以登录,使用putty打开,进行复制粘贴)

然后就可以使用秘钥登录了,首先打开putty输入虚拟机IP,端口号22,点击左侧SSH下拉框,进入Auth模块

点击Browser加载,本地的私钥文件,打开

回到了PuTTY登录页面输入root

直接输入自己私钥密码即可登录

*需要注意的就是储存公钥的目录一定要修改权限为700,公钥内容别粘贴错

4.设置sshd日志,单独存放至/var/ssh/sshd.log中

首先修改ssh程序。使用命令vim  /etc/ssh/sshd_config打开配置文件,修改SyslogFacility AUTHPRIV为SyslogFacility local5,保存退出

然后修改日志程序。使用命令Vim /etc/rsyslog.conf打开日志程序(注意是rsyslog.conf!!!),添加如下两行代码,并保存退出

# save sshd messages also to sshd.log

local5.*  /data/log/sshd.log

重启sshd服务以及syslog服务。使用命令systemctl restart sshd.service       service rsyslog restart

打开PuTTY使用公钥证书认证方式登录,查看日志。tail /var/log/sshd.log

SSH配置的更多相关文章

  1. mysql+ssh 配置(转载)

    Mysql+ssh配置 一.Linux平台间mysql+ssh配置 本机地址为:192.168.189.133 mysql服务器地址为:192.168.189.139 linux命令行下使用ssh命令 ...

  2. Ngrok远程桌面及ssh配置

    上一篇Ngrok 内网穿透利器 使用教程我们讲到Ngrok的基本使用教程,这篇描述一下Ngrok的远程桌面及ssh配置 Step 1 修改配置文件ngrok.cfg server_addr: &quo ...

  3. centos ssh配置使用

    配置 数据阶梯 CentOS SSH配置 默认CentOS已经安装了OpenSSH,即使你是最小化安装也是如此.所以这里就不介绍OpenSSH的安装了. SSH配置: 1.修改vi /etc/ssh/ ...

  4. CentOS SSH配置

    默认CentOS已经安装了OpenSSH,即使你是最小化安装也是如此.所以这里就不介绍OpenSSH的安装了. SSH配置: 1.修改vi /etc/ssh/sshd_config,根据模板将要修改的 ...

  5. github的SSH配置如下

    Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置. github的SSH配置如下: 一 . 设置Git的user name和email: $ git ...

  6. github SSH配置

    目录 github SSH配置 前言 ssh 配置 github SSH配置 前言 github有两种更新的渠道,一种是https的,一种是ssh的,其中https每次都要输入密码,非常烦.所以,最好 ...

  7. 记一次ssh配置的锅

    我们在使用git来管理代码的时候不可避免的要用到ssh密匙,这个密匙怎么配置的百度上很多. 我这边是使用sourcetree来配合管理代码的,但是我ssh配置好了以后无论是克隆代码还是推送代码都提示我 ...

  8. SSH配置免密登录

    [参考文章]:linux服务器ssh免密码登录 [参考文章]:ssh分发秘钥时出现错误“Permission denied (publickey,gssapi-keyex,gssapi-with-mi ...

  9. Gitlab的SSH配置(linux和windows双版本)

    1. 步骤 1.首先现在电脑端安装好git,windows端请安装Git for Windows,Linux端请自行网上查询(Ubuntu: sudo apt-get install git)   2 ...

  10. Linux服务器配置---ssh配置

    Ssh配置     通过配置文件,我们可以有效的管理ssh 1.空闲时间关闭连接 1)修改配置文件“/etc/ssh/sshd_config”,设置clientAliveInterval和client ...

随机推荐

  1. [数]昨天欠下的一道立体几何题HDU-4741

    并没有做到这道题,后来听学长说了题意,总之就是立体几何嗯 看了好几份题解,是的我知道是异面线段的距离了,可是看码完全不明orz. 这时候出现了一份清晰易懂甚至给出了公式来源的blog╰(*°▽°*)╯ ...

  2. javascript中的自定义属性

    标签的自定义属性: 在开发中,有时需要在标签上添加一些自定义属性用来存储数据或状态. 设置了自定义属性的标签,就是在这个标签上添加了这个属性,浏览器中的html结构中可以看到. 使用点语法(如oWra ...

  3. gitignore不起作用

    .gitignore中已经标明忽略的文件目录下的文件,git push的时候还会出现在push的目录中,原因是因为在git忽略目录中,新建的文件在git中会有缓存,如果某些文件已经被纳入了版本管理中, ...

  4. 《浅析:java不支持多继承的原因》

    很久以前,博主的一个好朋友给我考了我一个问题,为什么Java不支持多继承,如果多继承会有什么错误.这个问题困扰了我很久,我从单继承方面去推导过,又从多态的层面去思考过,但都无法解释为什么Java不支持 ...

  5. 重新复习~ 为了重新找工作 - > XMLHttpRequest2.0 Jsonp nodeType 节点 webpack基本搭建 闭包的一句话总结

    XMLHttpRequest2.0 1.可以设置超时 (xhr.timeout = 1000; ontimeout()函数) 2.支持FormData对象管理表单数据(new FormData 方法: ...

  6. JS---作用域和作用域链

    JS---作用域和作用域链 作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期.在JavaScript中,变量的作用域有全局作用域和局部作用域两种. //常犯的一个错误 &l ...

  7. 测试使用 Open Live Writer写博客

    这里测试文字的显示: 第一段 第二段 第三段 这里测试图片的显示: 这里测试视频的显示: 测试不了,是不是版权问题?

  8. c#线程池ThreadPool实例详解

    1. 如何查看线程池的最大线程数和最小线程数 static void Main(string[] args) { Console.WriteLine("----------线程池开始,线程I ...

  9. tomcat文件下目录介绍

    主目录下有bin ,conf ,lib ,logs ,temp ,webapps ,work 7个文件夹,下面对它们分别进行介绍: 1.bin目录主要是用来存放tomcat的命令,主要有两大类,一类是 ...

  10. random模块用法

    最近生病,学习进度少许拖延,, import random # 随机取0~1之间的小数 print(random.random()) # 随机取2数之间的整数 print(random.randint ...