Linux下sshd服务及服务管理命令详解

sshd

SSH为Secure Shell的缩写,是应用层的安全协议。SSH是目前较可靠,专为远程登陆会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。

openssh-server

功能:让远程主机可以通过网络访问sshd服务,开始一个安全shell

客户端连接方式

ssh 远程主机用户@远程主机ip 先rm -rf /root/.ssh/清掉之前的配置
ssh 远程主机用户@远程主机ip -X 调用远程主机图形工具
ssh 远程主机用户@远程主机ip command直接在远程主机执行某条命令

sshkey加密

基于口令的安全认证
只要你知道自己帐号和口令,就可以登陆到远程主机。但会出现“中间人”攻击
ssh remoteuser@remotehost
ssh remoteuser@remotehost hostname

基于密匙的安全验证
你必须为自己创建一对密匙,把公匙放在需要访问的服务器上。
如果你要连接到SSH服务器上,客户端软件就会向服务器发出
请求,请求用你的密匙进行安全验证.服务器受到请求之后,先
在该服务器上你的目录下寻找你的公匙,然后把它和你发送过
来的公匙进行比较。如果两个密匙一致,服务器就用公用密匙加
密“质询”(challenge)并把它发送给客户端软件。客户端软
件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器

1.生成公钥私钥

ssh-keygen   ##生成公钥私钥工具
ls /root/.ssh/
id_rsa     ##私钥,就是钥匙
id_rsa.pub   ##公钥,就是锁

2.添加key认证方式

ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.101
ssh-copy-id        ##添加key认证方式的工具
-i             ##指定加密key文件
/root/.ssh/id_rsa.pub   ##加密key
root            ##加密用户为root
@172.25.254.101      ##被加密主机ip

3.分发钥匙给client主机

scp /root/.ssh/id_rsa root@172.25.254.201:/root/.ssh/

4.测试

ssh root@172.25.254.101    ##通过id_rsa直接连接不用输入用户密码

服务端




客户端


第一次没有密钥,需要密码

服务端发送密钥给客户端

无需密码即可远程登陆

提升openssh的安全级别

1.openssh-server配置文件

vim /etc/ssh/sshd_config

78 PasswordAuthentication yes|no ##是否开启用户密码认证,yes为支持no为关闭
48 PermitRootLogin yes|no ##是否允许超级用户登录
49 AllowUsers student westos

##用户白名单,只有在名单出现的用户可以使用sshd建立shell
50 DenyUsers westos ##用户黑名单

2.控制ssh客户端访问

vim /etc/hosts.deny sshd:ALL ##拒绝所有人链接sshd服务

系统服务的控制

1.systemd

系统初始化程序,系统开始的第一个进程,pid为1

2.systemctl 命令

systemctl list-units    ##列出当前系统服务的状态
systemctl list-unit-files  ##列出服务的开机状态
systemctl status sshd    ##查看指定服务的状态
systemctl stop sshd     ##关闭指定服务
systemctl start sshd    ##开启指定服务
systemctl restart sshd   ##重新启动服务
systemctl enable sshd    ##设定指定服务开机开启
systemctl disable sshd   ##设定指定服务开机关闭
systemctl reload sshd    ##使指定服务重新加载配置
systemctl list-dependencies sshd   ##查看指定服务的依赖关系
systemctl mask sshd     ##冻结指定服务
systemctl unmask sshd    ##启动服务
systemctl set-default multi-user.target   ##开机不开启图形
systemctl set-default graphical.target    ##开机启动图形
setterm           ##文本界面设定color
vga=ask

3.服务状态

systemctl status 服务名称

active(running) ##系统服务已经初始化形成,加载过配置;正有一个或多个程序正在系统中执行;vsftpd就是这种模式

active(exited) ##仅执行一次就正常结束的服务;目前并没有任何程序正在系统中执行

active(waiting) ##正在执行当中;不过还得再等待其他事件才能继续处理

inactive ##服务关闭

enable ##服务开机启动

disable ##服务开机不自启

以上所述是小编给大家介绍的Linux下sshd服务及服务管理命令详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • 详解Linux下你所不知道的7个SSH命令用法

    一个系统管理员可能会同时管理着多台服务器,这些服务器也许会放在不同的地方.要亲自一台一台的去访问来管理它们显然不是最好的方法,通过远程控制的方法应该是最有效的. Linux系统的远程管理工具大概有几种:telnet,ssh,vnc等,其中ssh是最常用的管理方法,采用密文的传输方式,简单安全. Secure Shell缩写是SSH, 由IETF的网络工作小组(Network Working Group)所制定,SSH是一项创建在应用层和传输层基础上的安全协议,为计算机的shell提供安全的传输和

  • SSH 上传文件及文件夹到linux服务器的方法

    现在服务器linux很多.是不是不会传文件?别急 下面就是方法: 一.上传文件到linux服务器 首先从你本地切换到你要上传文件的目录,接下来: scp 文件名字 服务器用户名字@服务器ip:目录 例子: scp index.html root@58.87.124.110:/home/service-tomcat/webapps/ 二.上传文件夹到linux服务器 同文件上传只是在文件名字前面加上-r 例子: scp static/ root@58.87.124.110:/home/servic

  • 详解linux SSH登录流程

    本文给大家详细介绍了ssh 密钥登录远程服务器流程和注意事项,以下是详细内容: 密钥登录比密码登录安全,主要是因为他使用了非对称加密,登录过程中需要用到密钥对.整个登录流程如下: 远程服务器持有公钥,当有用户进行登录,服务器就会随机生成一串字符串,然后发送给正在进行登录的用户. 用户收到远程服务器发来的字符串,使用与远程服务器公钥配对的私钥对字符串进行加密,再发送给远程服务器. 服务器使用公钥对用户发来的加密字符串进行解密,得到的解密字符串如果与第一步中发送给客户端的随机字符串一样,那么判断为登

  • git bash配置ssh 登录 Linux的方法

    1.首先在 Linux 服务器上生成公钥和私钥文件,默认的存放目录在~/.ssh下. ssh-keygen 可以将密码留空,这样之后就可以免密码登录. 2.将私钥文件拷贝到本机. scp root@192.168.1.168:/root/.ssh/id_rsa ~/.ssh 这里最好将私钥文件放在 ~/.ssh 目录下,不然在使用 ssh 登录时,需要使用 -i 来指定私钥文件. 3.公钥文件需要添加到服务器的 ~/.ssh/authorized_keys 文件当中. cat id_rsa.pu

  • Linux系统中创建SSH服务器别名的两种方法

    前言 如果你经常通过 SSH 访问许多不同的远程系统,这个技巧将为你节省一些时间.你可以通过 SSH 为频繁访问的系统创建 SSH 别名,这样你就不必记住所有不同的用户名.主机名.SSH 端口号和 IP 地址等.此外,它避免了在 SSH 到 Linux 服务器时重复输入相同的用户名.主机名.IP 地址.端口号. 在 Linux 中创建 SSH 别名 在我知道这个技巧之前,我通常使用以下任意一种方式通过 SSH 连接到远程系统. 使用 IP 地址: $ ssh 192.168.225.22 或使用

  • Linux系统安装docker并用ssh登录docker容器的操作方法

    说明:我使用的是Centos安装docker 第一步:安装docker sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.daocloud.io/docker/linux/centos/docker-ce.repo sudo yum install -y -q --setopt=obsoletes=0 docker-ce-17.09.1.ce* docker-ce-selinux-1

  • Linux下的crontab定时执行任务命令详解

    在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron].cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间. cron的配置文件称为"crontab",是"cron table"的简写. 一.cron服务 cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业.   service crond start    //启动服务   service crond stop     //

  • Linux下sshd服务及服务管理命令详解

    sshd SSH为Secure Shell的缩写,是应用层的安全协议.SSH是目前较可靠,专为远程登陆会话和其他网络服务提供安全性的协议.利用SSH协议可以有效防止远程管理过程中的信息泄露问题. openssh-server 功能:让远程主机可以通过网络访问sshd服务,开始一个安全shell 客户端连接方式 ssh 远程主机用户@远程主机ip 先rm -rf /root/.ssh/清掉之前的配置 ssh 远程主机用户@远程主机ip -X 调用远程主机图形工具 ssh 远程主机用户@远程主机ip

  • linux中权限管理命令详解(chmod/chown/chgrp/unmask)

    Linux操作系统对多用户的管理,是非常繁琐的,所以用组的概念来管理用户就变得简单,每个用户可以在一个独立的组,每个组也可以有零个用户或者多个用户.本文给大家介绍linux中权限管理命令详解(chmod/chown/chgrp/unmask),具体内容如下: chmod 解释 命令名称:chmod 命令英文原意:change the permissions mode of a file 命令所在路径:/bin/chmod 执行权限:所有用户功能描述:改变文件或目录权限 语法 chmod [{ug

  • LINUX启动/重启/停上MYSQL的命令(详解)

    如何启动/停止/重启MySQL 一.启动方式 1.使用 service 启动:service mysqld start 2.使用 mysqld 脚本启动:/etc/inint.d/mysqld start 3.使用 safe_mysqld 启动:safe_mysqld& 二.停止 1.使用 service 启动:service mysqld stop 2.使用 mysqld 脚本启动:/etc/inint.d/mysqld stop 3.mysqladmin shutdown 三.重启 1.使用

  • linux下安装Nginx1.16.0的教程详解

    因为最近在倒腾linux,想安装新版本的nginx,找了一圈教程没有找到对应的教程,在稍微倒腾了一会之后终于成功的安装了最新版. 服务器环境为centos,接下来是详细步骤: 安装必要依赖插件 yum install -y gcc gcc-c++ pcre \ pcre-devel zlib zlib-devel openssl openssl-devel wget 创建文件夹并切换过去 mkdir /customer && cd /customer 下载安装包 (同样如果想安装其他的版本

  • Linux下安装mysql-8.0.20的教程详解

    ** Linux下安装mysql-8.0.20 ** 环境介绍 操作系统:CentOS 7 mysql下载地址:https://dev.mysql.com/downloads/mysql/ 下载版本:https://www.jb51.net/softs/609101.html https://www.jb51.net/softs/609101.html 卸载mysql 查看是否安装过mysql,命令:find / -name mysql 如果安装过,进行卸载: 删除相关目录: 删除配置文件: 删

  • Linux 下FTP的安装与配置教程详解

    0.安装ftp的前置条件是关掉SElinux # vi /etc/selinux/config 修改 SELINUX=" disabled " ,重启服务器.若相同,则跳过此步骤. 1. 可先查看是否安装过vsftp # rpm -qa | grep vsftpd 则代表已经安装.可直接跳过步骤2 2 .安装 vsftp # yum install vsftp* Is this ok [y/N]: y 代表安装完成. 3. 对vsftp 进行配置 # /etc/vsftpd/vsftp

  • Linux应用调试使用gdb和gdbserver命令详解

    1.gdb和gdbserver调试原理 通过linux虚拟机里的gdb,来向开发板里的gdbserver发送命令,比如设置断点,运行setp等,然后开发板上的gdbserver收到命令后,便会执行应用程序做相应的动作,来实现调试的功能 和之前学的裸板GDB调试 一样,只不过之前学的是在win下的,本次是在linux里的gdb 1.1同样,它们都会需要一个带调试信息的编译文件. 通过Makefile里的arm-linux-gcc  -g 来的,     -g:表示编译文件里包含gdb调试信息 1.

  • LInux下安装MySQL5.6 X64版本步骤详解

    环境: 1.CentOS6.5 X64 2.mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz 3.下载地址:http://dev.mysql.com/downloads/mysql/ 安装步骤 1.再安装包的存放目录下执行命令解压文件 tar -zxvf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz -C /opt/ 2.删除安装包,重命名解压后的文件 rm -rf mysql-5.6.34-linux-glibc2.5-x

  • centos7.2下安装mysql5.7数据库的命令详解

    服务器上的mysql安装了一个8.0.12版本的,本地的是一个5.7版本的,今天删除了重新安装的5.7版本的,下面是所有的名命令 跟着走就会安装上了. 配置源 wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm yum localinstall mysql57-community-release-el7-8.noarch.rpm # yum repolist enabled | grep "mysql.

随机推荐