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直接连接不用输入用户密码

服务端

Linux下sshd服务及服务管理命令详解 Linux 第1张
Linux下sshd服务及服务管理命令详解 Linux 第2张
Linux下sshd服务及服务管理命令详解 Linux 第3张
Linux下sshd服务及服务管理命令详解 Linux 第4张

客户端

Linux下sshd服务及服务管理命令详解 Linux 第5张
Linux下sshd服务及服务管理命令详解 Linux 第6张

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

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

服务端发送密钥给客户端

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

无需密码即可远程登陆

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

提升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服务及服务管理命令详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

参与评论