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 ...
随机推荐
- 网络相关配置,SSH服务,bash, 元字符
作业一:临时配置网络(ip,网关,dns)+永久配置 设置IP和掩码ifconfig eth0 192.168.2.2 netmask 255.255.255.0设置网关route add defa ...
- python pexpect包的一些用法
转自:https://www.jianshu.com/p/cfd163200d12 mark一下,原文中写的挺详细
- spring注解驱动开发
1.全图: 一.IOC容器部分 1.第一个初始化实例: @Configuration @ComponentScans @Bean("person") 注意: @repeatable ...
- oracle中用while循环查询1到100的质数(素数)
declare i number:=1; --表示当前数字 j number:=0; --从2开始,存储判断的数字 sum1 number:=0;--总数begin while(i<100) ...
- Asp.Net Core MongoDB
废话不说直接上代码: using MongoDB.Bson.Serialization.Attributes; namespace XL.Core.MongoDB { public interface ...
- Python 字典dict相关知识
字典是无序的,多次print输出的结果不一样. 字典的key可以是数字.字符串.元组.布尔值(True为1,False为0,不可以和其他key值重复):列表和字典不能作为key. 字典的value可以 ...
- Java randomString
public static String randomString(int strLength) { Random rnd = ThreadLocalRandom.current(); StringB ...
- 专业的“python爬虫工程师”需要学习哪些知识?
学到哪种程度 暂且把目标定位初级爬虫工程师,简单列一下吧: (必要部分) 熟悉多线程编程.网络编程.HTTP协议相关 开发过完整爬虫项目(最好有全站爬虫经验,这个下面会说到) 反爬相关,cookie. ...
- 互动科技 快乐分享 X/Open DTP——分布式事务模型
这一几天一直在回顾事务相关的知识,也准备把以前了解皮毛的知识进行一些深入总结,虽然这一些知识并没有用到,但是了解其实现原理还是很有必要的,因为知道了原理,你也能把它实现出来. 在上一节事务的编程模型里 ...
- 前端测试时,常用SQL
与后台联调页面,经常会验证数据正确性,这时候就需要会点SQL语句,以下是常用的SQL: 单表查询 select * from table 条件查询 select * from table where ...