SSH配置
什么是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配置的更多相关文章
- mysql+ssh 配置(转载)
Mysql+ssh配置 一.Linux平台间mysql+ssh配置 本机地址为:192.168.189.133 mysql服务器地址为:192.168.189.139 linux命令行下使用ssh命令 ...
- Ngrok远程桌面及ssh配置
上一篇Ngrok 内网穿透利器 使用教程我们讲到Ngrok的基本使用教程,这篇描述一下Ngrok的远程桌面及ssh配置 Step 1 修改配置文件ngrok.cfg server_addr: &quo ...
- centos ssh配置使用
配置 数据阶梯 CentOS SSH配置 默认CentOS已经安装了OpenSSH,即使你是最小化安装也是如此.所以这里就不介绍OpenSSH的安装了. SSH配置: 1.修改vi /etc/ssh/ ...
- CentOS SSH配置
默认CentOS已经安装了OpenSSH,即使你是最小化安装也是如此.所以这里就不介绍OpenSSH的安装了. SSH配置: 1.修改vi /etc/ssh/sshd_config,根据模板将要修改的 ...
- github的SSH配置如下
Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置. github的SSH配置如下: 一 . 设置Git的user name和email: $ git ...
- github SSH配置
目录 github SSH配置 前言 ssh 配置 github SSH配置 前言 github有两种更新的渠道,一种是https的,一种是ssh的,其中https每次都要输入密码,非常烦.所以,最好 ...
- 记一次ssh配置的锅
我们在使用git来管理代码的时候不可避免的要用到ssh密匙,这个密匙怎么配置的百度上很多. 我这边是使用sourcetree来配合管理代码的,但是我ssh配置好了以后无论是克隆代码还是推送代码都提示我 ...
- SSH配置免密登录
[参考文章]:linux服务器ssh免密码登录 [参考文章]:ssh分发秘钥时出现错误“Permission denied (publickey,gssapi-keyex,gssapi-with-mi ...
- Gitlab的SSH配置(linux和windows双版本)
1. 步骤 1.首先现在电脑端安装好git,windows端请安装Git for Windows,Linux端请自行网上查询(Ubuntu: sudo apt-get install git) 2 ...
- Linux服务器配置---ssh配置
Ssh配置 通过配置文件,我们可以有效的管理ssh 1.空闲时间关闭连接 1)修改配置文件“/etc/ssh/sshd_config”,设置clientAliveInterval和client ...
随机推荐
- django的ORM
在项目根目录下运行 python manage.py shell 即可进入django的交互shell界面 查询 from my_app.models import MyTestModel datas ...
- 单链表ADT
本博客第一篇学术性博客,所以还是写点什么东西: 首先这篇博客以及以后的博客中的代码尽量百分之90是自己写过的: 可能有部分图片和代码是我认为别人更好的故摘抄下来, 本人三观正确,所以一定会表明来源: ...
- Python读取xlsx文件
Python读取xlsx文件 脚本如下: from openpyxl import load_workbook workbook = load_workbook(u'/tmp/test.xlsx') ...
- vue项目总结
1.项目的结构
- Oracle 使用序列实现自增列 及重置序列
序列是oracle用来生产一组等间隔的数值.序列是递增,而且连续的.oracle主键没有自增类型,所以一般使用序列产生的值作为某张表的主键,实现主键自增.序列的编号不是在插入记录的时候自动生成的,必须 ...
- inout口在modelsim仿真的方法
//主要是// 和**********部分是关键 1 `timescale 1ns/1ns module tb(); reg main_clk; :] addr; reg FPGA_CS0;//FPG ...
- python-数据类型练习题1
1.有变量name = "aleX leNb" 完成如下操作:移除name变量对应的值两边的空格,并输出处理结果n1 = name.strip()print(n1) 结果:aleX ...
- 开发工具IntelliJ IDEA的安装与操作
开发工具IntelliJ IDEA的安装与操作 1.1 开发工具概述 IDEA是一个专门针对Java的集成开发工具(IDE),它可以极大地提升我们的开发效率.可以自动编译,检查错误.在公司中,使用的就 ...
- vivado封装IP
reference: https://www.cnblogs.com/mouou/p/5851736.html 1.新建一个测试工程 工程化的设计方法是离不开工程的,第一步往往都是新建工程,后面我 ...
- echarts设置option中的数据对象优化
if(tab.name == 'first'){ myChart.setOption({ legend: { selected:{ [this.playNumber]:true, [this.cove ...