(服务器:172.25.13.120 客户端:172.25.13.220)
1.openssh-server####
功能:让远程主机可以通过网络访问sshd服务,开始一个安全shell
2.客户端连接方式
*)开启服务端远程连接服务
*)用客户端连接服务器
ssh 远程主机用户@远程主机ip
*)关闭ssh
ssh 远程主机用户@远程主机ip -X ##调用远程主机图形工具
ssh 远程主机用户@远程主机ip command ##直接在远程主机运行某条命令
未开启图形界面
重新连接开启图形界面
直接输入命令并开启图形界面
3.sshkey加密
1)生成公钥私钥(在服务器)
[root@server0 ~]# ssh-keygen ##生成公钥私钥工具
Generating public/private rsa keypair.
Enter file in which to save the key(/root/.ssh/id_rsa):[enter] ##加密字符保存文件(建议用默认)
Created directory '/root/.ssh'.
Enter passphrase (empty for nopassphrase): [enter] ##密钥密码,必须>4个字符
Enter same passphrase again: [enter] ##确认密码
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:
ab:3c:73:2e:c8:0b:75:c8:39:3a:46:a2:22:34:84:81root@server0.example.com
The key's randomart image is:
+--[ RSA 2048]----+
|o |
|E. |
|.. |
|. . o |
|.o. * . S |
|oo.o o . |
|+ =. . . |
|o. oo.+.. |
| ..o*. |
+-----------------+
[root@server0 ~]# ls /root/.ssh/
id_rsa id_rsa.pub
id_rsa ##私钥,就是钥匙
id_rsa.pub ##公钥,就是锁
2)添加key认证方式
[root@server0 ~]# ssh-copy-id -i/root/.ssh/id_rsa.pub root@172.25.0.11
ssh-copy-id ##添加key认证方式的工具
-i ##指定加密key文件
/root/.ssh/id_rsa.pub ##加密key
root ##加密用户为root
172.25.0.11 ##被加密主机ip()
3)分发钥匙给client主机
[root@server0 ~]# scp /root/.ssh/id_rsaroot@172.25.0.10:/root/.ssh/
4)测试
[root@desktop0 ~]# ssh root@172.25.0.11 ##通过id_rsa直接连接不需要输入用户密码
Last login: Mon Oct 3 03:58:10 2016 from 172.25.0.250
[root@server0 ~]#
不需要密码可直接远程连接
注意:删掉id_rsa文件后只能通过私钥连接
要重新复制钥匙给客户端
4.提升openssh的安全级别
1)openssh-server配置文件
/etc/ssh/sshd_config
修改配置文件后要restart
78行PasswordAuthentication yes|no ##是否开启用户密码认证,yes为支持no为关闭
修改为no后只能靠私钥登陆,没有私钥无法登陆
48行PermitRootLogin yes|no ##是否允许超级用户登陆
去掉注释
超级用户无法登陆
49行 AllowUsersstudent westos ##用户白名单,只有在名单中出现的用户可以使用sshd建立shell
需要自己添加
50行 DenyUserswestos ##用户黑名单
2)控制ssh客户端访问
vim /etc/hosts.deny
sshd:ALL ##拒绝所有人链接sshd服务
vim /etc/hosts.allow
sshd:172.25.254.250 ##允许250主机链接sshd
sshd:172.25.254.250, 172.25.254.180 ##允许250和180链接
sshd:ALL EXCEPT 172.25.254.200 ##只不允许200链接sshd
3)ssh登陆提示修改该
vim /etc/motd ##显示登陆后字符
hello ##在登陆后就会显示这个字符
5.系统服务的控制
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
3)服务状态
systemctl status 服务名称
loaded ##系统服务已经初始化完成,加载过配置
active(running) ##正有一个或多个程序正在系统中执行,
#vsftpd 就是这种模式
atcive(exited) ##仅执行一次就正常結束的服务,
#目前并没有任何程序在系統中执行
atcive(waiting) ##正在执行当中,
#不过还再等待其他的事件才能继续处理
inactive ##服务关闭
enbaled ##服务开机启动
disabled ##服务开机不自启
static ##服务开机启动项不可被管理
failed ##系统配置错误
上一篇文章:linux安装ssh和开启 ssh服务