Linux之sshd服务
Linux之sshd服务
---恢复内容开始---
---恢复内容结束---
⼀、linux中对服务管理与控制(以sshd为例)
1.什么是服务
  可以⽤来给客户提供相关操作,对⾃⼰没有什么好处
2.⽤什么控制服务
系统初始化进程可以对服务进⾏相应的控制
3.当前系统初始化进程是什么
systemd    ##系统初始化进程
pstree    ##显⽰系统中的进程树
4.进程控制命令
ssh -------->sshd(ssh⽤为客户端,主要进⾏服务器端的连接;sshd⽤为服务器端)
systemctl              ##服务控制命令
systemctl start sshd  ##开启服务
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  ##设定系统启动级别为图形模式
systemctl status sshd  ##查看服务状态,inactive(不可⽤),active(可⽤)
注意:也可以使⽤init 5使界⾯图形化当使⽤关闭sshd关闭服务的时候 ,sshd状态会发⽣改变(此时状态为dead),此时不可以进⾏连接使⽤开启命令的时候,状态为running
默认情况下,sshd服务是开机时⾃启动的,也可以进⾏设置。以下设置sshd为开机不是⾃动启动
重启后,不可以使⽤ssh服务
[kiosk@foundation77 Desktop]$ ssh root@172.25.254.177
ssh: connect to host 172.25.254.177 port 22: Connection refused
使⽤命令设置sshd服务开机为⾃启动(开机后就可以直接进⾏登)
使⽤命令systemctl list-unit-files 来列出所有服务开机启动的状态(disable,enable,static)
若想对外开启服务,可以使⽤systemctl start ssh来开启服务接⼝。
对于服务来说,是不可以关闭的;若修改了配置⽂件,只能通过systemctl restart  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 ~]# cd /root/Desktop/
[root@localhost Desktop]# ls
file1
⽰例:把97主机桌⾯下的file⽂件下载到177主机的/mnt/⽬录下:
[root@localhost ~]# scp root@172.25.254.97:/root/Desktop/file /mnt/
file                                          100%    0    0.0KB/s  00:00
此时可以在177主机上/mnt/⽬录下可以看到file⽂件
[root@localhost ~]# ls /mnt/
file  niu  root@172.25.254.97
2.sshd 的key认证
【1】⽣成认证KEY
⽣成密钥的命令:ssh-keygen
[root@localhost ~]# rm -rf .ssh/
[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 ~]# cd .ssh/
[root@localhost .ssh]# ls
id_rsa  id_rsa.pub
[root@localhost .ssh]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.97
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.
[root@localhost .ssh]# ls
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/
[root@localhost .ssh]# ls
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主机下进⾏验证:
[root@localhost ~]# ls .ssh/
id_rsa  known_hosts
【4】测试
在客户主机中(172.25.254.177)输⼊命令:ssh root@172.25.254.97
[root@localhost ~]# 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

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。