SSH(Secure Shell)介绍

SSH(Secure Shell)介绍

SSH 安装

  • 查看是否已安装:

    • CentOS:rpm -qa | grep openssh
    • Ubuntu:dpkg -l | grep openssh
  • 安装:

    • CentOS 6:sudo yum install -y openssh-server openssh-clients
    • Ubuntu:sudo apt-get install -y openssh-server openssh-client

SSH 配置文件常用参数

  • 配置文件介绍(记得先备份):sudo vim /etc/ssh/sshd_config
    • Port 22 #默认指定 22 端口,可以自己修改
    • Protocol 2,1 #指定了 SSH 协议版本,目前 SSH 只有两个版本 2 和 1
    • PasswordAuthentication yes #是否开启密码验证,因为 SSH 也可以设置秘钥类授权登录的方式,如果用这种方式我们可以考虑关掉密码登录的方式。
    • PermitEmptyPasswords no #是否允许密码为空,与上面参数配合用。

SSH 允许 root 账户登录

  • 编辑配置文件(记得先备份):sudo vim /etc/ssh/sshd_config
    • 允许 root 账号登录
      • 注释掉:PermitRootLogin without-password
      • 新增一行:PermitRootLogin yes

SSH 密钥登录

  • 生成秘钥和公钥文件,命令:sudo ssh-keygen,在交互提示中连续按三次回车,如果看得懂交互的表达,那就根据你自己需求来。默认生成密钥和公钥文件是在:/root/.ssh。
  • 进入生成目录:cd /root/.ssh,可以看到有两个文件:id_rsa (私钥) 和 id_rsa.pub (公钥)
  • 在 .ssh 目录下创建 SSH 认证文件,命令:touch /root/.ssh/authorized_keys
  • 将公钥内容写到SSH认证文件里面,命令:cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
  • 修改SSH认证文件权限,命令:
    • sudo chmod 700 /root/.ssh
    • sudo chmod 600 /root/.ssh/authorized_keys
  • 重启服务:sudo service ssh restart
  • 设置 SSH 服务默认启动:sudo sysv-rc-conf ssh on

现在 SSH 客户端可以去拿着 SSH 服务器端上的 id_rsa,在客户端指定秘钥文件地址即可,这个一般由于你使用的客户端决定的,我这里推荐的是 Xshell 软件。

Image placeholder
niubility
未设置
  0人点赞

没有讨论,发表一下自己的看法吧

推荐文章
Shell 和 Shell 脚本

ShellShell是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。Shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访

结合Spring Security进行web应用会话安全管理

在本文中,将为大家说明如何结合SpringSecurity和SpringSession管理web应用的会话。 一、SpringSecurity创建使用session的方法 SpringSecurit

笨办法学 Linux Bash:Shell、`.profile`、`.bashrc`、`.bash_history`

Bash:Shell、.profile、.bashrc、.bash_history。 当使用CLI(命令行界面)来使用Linux时,你正在与一个名为shell的程序进行交互。所有你输入的都传递给she

了解Node.js中的流(Stream)

Node.js中的流(Stream)是出了名的难用甚至是难以理解。用DominicTarr的话来说:“流是Node中最好的,也是最容易被误解的想法。”即使是Redux的创建者和React.js的核心团

事务注解(@Transactional)引起的数据覆盖故障

最近组织团队内技术培训,刘聪为分享的一个跟事务和写数据库相关的case(bug)很有代表性。用事务,要小心!一、故障现象车辆交付履约流程上两个节点(工程项目)A和B,A修改一条数据记录item(工单)

【Kubernetes系列】第5篇 Ingress controller – traefik组件介绍

1.概述为了能够让Ingress资源能够工作,在Kubernetes集群中必须至少有一个运行中的ingresscontroller组件。也就是说如果在kubernetes集群中没有一个ingressc

Java 8 并发教程:原子变量和 ConcurrentMap

出于简单的因素,这个教程的代码示例使用了定义在这里的两个辅助函数sleep(seconds)和stop(executor)。 AtomicInteger java.concurrent.atomic包

Laravel 使用 CURD 之外- Domain,大中型 Laravel 项目架构设计

0x01面向领域的Laravel 人类分类思考,我们的代码应该映射这一点 首先说明,我没有提出这个术语『领域』-我从流行的开发模式DDD中学来的。引用牛津词典,『领域』可以描述为『一个特定范围的活

Go语言高级编程_4.8 grpcurl工具

4.8grpcurl工具 Protobuf本身具有反射功能,可以在运行时获取对象的Proto文件。gRPC同样也提供了一个名为reflection的反射包,用于为gRPC服务提供查询。gRPC官方提供

可能是东半球最好的 Curl 学习指南,强烈建议收藏!

简介curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。 它的功能非常强大,命令行参数多达几十种。如果熟练的话,完全可以取代 Postma

开源React Native组件库beeshell 2.0发布

2018年,我们开源了ReactNative组件库——beeshell1.0。时隔一年,我们对ReactNative组件库继续优化,实现beeshell2.0升级,开源38个功能。希望更好的服务社区,

在Jenkins中发布react 静态项目常用shell脚本

功效:服务器git永远同步,远程,本地有更改文件或文件夹会被重置掉,保持和远程仓库一致 rsync同步文件 永久链接:https://shudong.wang/10705.html获取git远程仓库

css Media媒体查询深入介绍

媒介类型在CSS2中,媒体查询只使用于和标签中,以media属性存在media属性用于为不同的媒介类型规定不同的样式screen计算机屏幕(默认值)tty电传打字机以及使用等宽字符网格的类似媒介tv电

css伪元素的使用介绍

:before和::before的区别在介绍具体用法之前,简单介绍下伪类和伪元素。伪类大家听的多了,伪元素可能听到的不是那么频繁,其实CSS对这两个是有区分的。有时你会发现伪类元素使用了两个冒号(::

选择器和介绍CSS布局笔记

css选择器: 1.元素选择器,例如:p{}; 2.类选择器,例如:.box{}; 3.ID选择器,例如:#box{};

Elasticsearch分词器介绍、内置分词器及配置中文分词器

1、分词器、分词器是从一串文本中切分一个个的词条,并对每个词条进行标准化,包含三个部分: characterfilter:分词之前的预处理,过滤掉HTML标签、特殊符号转换(例如,将&符号转换成and

Shell脚本编程30分钟入门

什么是Shell脚本 示例 看个例子吧: #!/bin/sh cd~ mkdirshell_tut cdshell_tut for((i=0;ibash 但在MacOS上不是,/bin/sh和/

Linux Shell 脚本快速入门

shell脚本是在一个文件中写入一起执行的命令集。对于使用像dos操作系统的DOS,windows操作系统的bat,linux操作系统的files的人来说,这几乎都是相同的概念。你只需要把一串命令写

Linux Shell 脚本快速入门

shell脚本是在一个文件中写入一起执行的命令集。对于使用像dos操作系统的DOS,windows操作系统的bat,linux操作系统的files的人来说,这几乎都是相同的概念。你只需要把一串命令写入

PHP 安全之 webshell 分析

简介webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目

Shell 语法

变量声明、使用、只读、删除myUrl="runoob.com" echo$myUrl${myUrl} readonlymyUrl unsetmyUrl1、定义变量时,不加$,变量名和等号之间不能

shell基础应用

一丶什么是shell?Shell是在linux你忽然与用户之间的解释器程序,通常指的是bash,负责想内核翻译及传达用户/程序指令Shell的使用方法:1.交互式执行指令:人工干预,执行效率低.2.非

shell基础笔记

学习编程的方法:1.照抄程序,保证程序能正确运行2.删除所有注释,自己往上默写注释,如果注释能写清楚,就代表程序看懂了3.删除代码,留下注释,照着注释写代码

清晰架构(Clean Architecture)的Go微服务: 日志管理

良好的日志记录可以提供丰富的日志数据,便于在调试时发现问题,从而大大提高编码效率。记录器提供的自动化信息越多越好,日志信息也需要以简洁的方式呈现,便于找到重要的数据。日志需求: 无需修改业务代码即可切