Linux之sshd服务
---恢复内容开始---
---恢复内容结束---
一、linux中对服务管理与控制(以sshd为例)
1.什么是服务
可以用来给客户提供相关操作,对自己没有什么好处
2.用什么控制服务
系统初始化进程可以对服务进行相应的控制
3.当前系统初始化进程是什么
systemd ##系统初始化进程
pstree ##显示系统中的进程树
4.进程控制命令
ssh -------->sshd(ssh用为客户端,主要进行服务器端的连接;sshd用为服务器端)
systemctl ##服务控制命令
systemctl stop sshd ##关闭服务
systemctl restart sshd ##重启服务
systemctl reload sshd ##重新加载服务配置
systemctl enable sshd ##设定服务开机启动
systemctl disable sshd ##设定服务开机不启动
systemctl list-units ##列出已经开启服务当前状态
systemctl list-dependencies ##列出服务的倚赖
systemctl set-default multi-user.target ##设定系统启动级别为多用户模式(无图形)
systemctl set-default graphical.target ##设定系统启动级别为图形模式
注意:也可以使用init 5使界面图形化当使用关闭sshd关闭服务的时候 ,sshd状态会发生改变(此时状态为dead),此时不可以进行连接
- 使用开启命令的时候,状态为running

- 默认情况下,sshd服务是开机时自启动的,也可以进行设置。以下设置sshd为开机不是自动启动
重启后,不可以使用ssh服务
- 使用命令设置sshd服务开机为自启动(开机后就可以直接进行登)

- 使用命令systemctl list-unit-files 来列出所有服务开机启动的状态 (disable,enable,static)

若想对外开启服务,可以使用systemctl start ssh来开启服务接口。
对于服务来说,是不可以关闭的;若修改了配置文件,只能通过systemctl restart sshd进行重新启动。
二、sshd服务
1.sshd介绍
sshd为secure shell的简称;可以通过网络在主机中开机shell的服务
连接方式(在客户端):ssh username@ip #文本模式
ssh -X username@ip #可以在链接成功后开启图形界面
注意:
第一次链接陌生主机是要建立认证文件,然后会询问是否建立,需要输入yes
再次链接此台主机时,因为已经生成~/.ssh/know_hosts文件所以不需要再次输入yes
远程复制: 格式 scp file root@id:dir(文件的上传)
scp root@if:/dir file(文件的下载)
- 示例:把177主机下/mnt/file1文件上传到 172.25.254.97主机的/root/Desktop/目录下:
[root@localhost mnt]# ls niu/
file1 file2 file3 file4 file5
[root@localhost mnt]# scp niu/file1 root@172.25.254.97:/root/Desktop/
file1 100% 0 0.0KB/s 00:00
此时可以在97主机下的桌面上看到file1:
[root@localhost Desktop]# ls
file1
- 示例:把97主机桌面下的file文件下载到177主机的/mnt/目录下:
file 100% 0 0.0KB/s 00:00
此时可以在177主机上/mnt/目录下可以看到file文件
file niu root@172.25.254.97
2.sshd 的key认证
【1】生成认证KEY
生成密钥的命令:ssh-keygen
[root@localhost ~]# ls -a
. .bash_logout .config Downloads Music Templates
.. .bash_profile .cshrc .esd_auth Pictures Videos
anaconda-ks.cfg .bashrc Desktop .ICEauthority Public .viminfo
.bash_history .cache Documents .local .tcshrc
[root@localhost ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
8c:23:ee:39:11:6b:e6:af:a3:76:b1:00:a5:6e:d1:d3 root@localhost
The key's randomart image is:
+--[ RSA 2048]----+
| |
| . |
| o. . |
|o. o.E o |
|... ooo S |
| o..*. . |
|. =.+ |
| ..*. |
| ..o+=. |
+-----------------+
【2】加密服务
使用命令:ssh-copy-id -i /root/.ssh/id_rsa.pub root@id
[root@localhost .ssh]# ls
id_rsa id_rsa.pub
The authenticity of host '172.25.254.97 (172.25.254.97)' can't be established.
ECDSA key fingerprint is eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@172.25.254.97's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@172.25.254.97'"
and check to make sure that only the key(s) you wanted were added.
authorized_keys id_rsa id_rsa.pub known_hosts
(此时authorized_keys文件,生成代表97主机加密成功;id-rsa为钥匙,id_rsa.pub为锁)
【3】分发钥匙
使用命令: scp /root/.ssh/id_rsa root@id:/root/.ssh/
authorized_keys id_rsa id_rsa.pub known_hosts
[root@localhost .ssh]# scp id_rsa root@172.25.254.177:/root/.ssh/
The authenticity of host '172.25.254.177 (172.25.254.177)' can't be established.
ECDSA key fingerprint is eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.25.254.177' (ECDSA) to the list of known hosts.
root@172.25.254.177's password:
id_rsa 100% 1679 1.6KB/s 00:00
**在177主机下进行验证:
id_rsa known_hosts
【4】测试
在客户主机中(172.25.254.177)输入命令:ssh root@172.25.254.97
Last login: Wed Jul 25 23:10:43 2018
此时不需要进行root用户的登陆,直接连接成功
3.sshd的安全设定
PasswordAuthentication yes|no ##是否允许用户通过登陆系统的密码做sshd的认证,(在78行也可登录其他用户密码)
PermitRootLogin yes|no ##是否允许root用户通过sshd服务的认证(48行)
Allowusers student westos ##设定用户白名单,白名单出现默认不再名单中的用户不能使用sshd
Denyusers westos ##设定用户黑名单,黑名单出现默认不再名单中的用户可以使用sshd
注意:在服务端修改文件的配置:vim /etc/ssh/sshd_config
配置完成之后要重启服务:systemctl restart sshd.service
Linux之sshd服务的更多相关文章
- linux初学者-sshd服务
linux初学者-sshd服务 在linux系统操作中,经常需要连接其他的主机,连接其他主机的服务是openssh-server,它的功能是让远程主机可以通过网络访问sshd服务,开始一个安全s ...
- Linux中Sshd服务配置文件优化版本(/etc/ssh/sshd_config)
Linux中Sshd服务配置文件优化版本(/etc/ssh/sshd_config) # $OpenBSD: sshd_config,v 1.93 2014/01/10 05:59:19 djm Ex ...
- Linux系统 SSHD服务安全优化方案
# 1. 修改默认端口 #Port 22 # 2. 修改监听协议,只监听某个或某些网络协议 #AddressFamily any AddressFamily inet # 3. 修改ssh只监听内 ...
- Linux中的sshd服务
Linux中的sshd服务,主要用于pst终端,远程连接到linux服务中 看sshd服务状态 service sshd status 停止sshd服务 service sshd stop 启动ssh ...
- Linux系统的ssh与sshd服务
当主机中开启openssh服务,那么就对外开放了远程连接的接口 ssh为openssh服务的客户端,sshd为openssh服务的服务端 远程管理工具ssh具有数据加密传输.网络开销小以及应用平台范围 ...
- 《linux就该这么学》第十一节课: 第九章,网卡绑定与sshd服务
8.4.服务的访问控制列表 TCPwrappers是RHEL7中默认启用的流量监控程序,能够对服务做出允许或拒绝. TCPwrappers服务由两个文件控制: /etc/hosts.allow ...
- Linux系统管理命令-systemctl 和 sshd 服务
一系统服务管理命令systemctl 开启一个服务 : systemctl start sshd 关闭一个服务: systemctl stop sshd 查看一个服务的状态: systemctl st ...
- Linux中设置服务自启动的三种方式
有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务 主要用三种方式进行这一操作: ln -s 在/etc/rc.d/rc*.d目录中建立/e ...
- Linux设置SFTP服务用户目录权限
我们有时会遇到这样的需求,限制一个Linux用户,让他只能在指定的目录下进行添加.修改.删除操作,并且只能使用sftp登录服务器,不能用ssh操作.这些可以通过配置sftp服务实现. 提供sftp服务 ...
随机推荐
- 20145313Java第五次实验
实验内容 网络编程TCP代码的结对完成,一人服务器,一人客户端,进行数据传输. 结伴对象:20145313卢鑫 实验步骤 本次实验中,需要两台电脑互联.一台电脑开启无线网,充当客户端,另一台连入局域网 ...
- 20145322《Java程序设计》第2次实验报告
20145322<Java程序设计>第2次实验报告 实验步骤与内容 一.实验内容 1.初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装.继承.多态 3.初步掌握UML建模 4. ...
- openwrt的编译系统在哪里对程序进行开机自动启动配置
答:在include/rootfs.mk里的宏prepare_rootfs中进行的
- SpringBoot集成Mybatis-PageHelper分页工具类,实现3步完成分页
在Mybatis中,如果想实现分页是比较麻烦的,首先需要先查询出总的条数,然后再修改mapper.xml,为sql添加limit指令. 幸运的是现在已经不需要这么麻烦了,刘大牛实现了一个超牛的分页工具 ...
- win10家庭版的defender注册表关闭和开启
关闭方法: 打开“命令提示符(管理员)”,然后输入: reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defe ...
- ThreadPoolExecutor源码浅析
目录 初始化 ctl变量 添加任务 addWorker方法 worker实现 执行任务 关闭连接池 参考 初始化 ThreadPoolExecutor重载了多个构造方法,不过最终都是调用的同一个: p ...
- JDK 中的监控与故障处理工具-05 (jstack)
jstack : stack trace for java jstack 命令用于生成虚拟机当前时刻的线程快照 (threaddump).线程快照是当前虚拟机中每一条线程正在执行的方法堆栈的集合,生成 ...
- C# 自动触发鼠标、键盘事件
要在C#程序中触发鼠标.键盘事件必须要调用windows函数. 一.鼠标事件的触发 1.引用windows函数mouse_event /// <summary> /// 鼠标事件 /// ...
- RQNOJ 356 mty的格斗 dp
PID356 / mty的格斗 题目描述 ’恩 ~~这个和这个也是朋友.把他们放在一起......哇!终于完成了’mty费了好大劲,终于找出了一支最为庞大的军队. fyc很高兴,立马出征与人fight ...
- 面向对象-PHP面向对象的特性
1.类和公有化 class Computer { //什么叫做类内,就是创建类的花括号内的范围叫做类内,其他地方则类外. //public 是对字段的公有化,这个字段类外即可访问,赋 ...