Linux 基础学习篇9(网络服务ssh篇)
来源:互联网 发布:注册淘宝网店铺流程 编辑:程序博客网 时间:2024/05/14 07:13
(一)openssh-server
1.openssh-server
服务(系统或网络):常驻在内存中的进程。
daemon(守护神):实现服务的程序。举例:实现循环型工作调度服务的程序(daemon)为crond。有时,daemon与service不需要分太清。
2.客户端连接方式
ssh 远程主机用户@远程主机ip
[root@desktop0 ~]# ssh root@172.25.0.11
The authenticity of host '172.25.0.11 (172.25.0.11)' 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.0.11' (ECDSA) to the list of known hosts.
root@172.25.0.11's password: ##远程用户密码
Last login: Mon Oct 3 03:13:47 2016
[root@server0 ~]# ##登陆成功
实验1:
实验1前的准备:因为要同时开启两台虚拟机,系统会变慢,所以要改两台虚拟机内存才可以。
修改如下:
修改内存(客户端同理):
@为了便于识别两个虚拟机,现将两台虚拟机中行提示符里面的主机名进行修改。desktop虚拟机主机名设置为client,server虚拟机主机名设置为server。(脑海中一定要有客户端服务端模型)
@在两台虚拟机上均执行删除/root/.ssh/命令(为下面生成公钥私钥做准备的一步)
@在两台虚拟机上均执行修改ip即nm-connection-editor命令(client:172.25.44.10.server:172.25.44.11)
@尝试连接(客户端连接服务端)
ssh 远程主机用户@远程主机ip -X ##调用远程主机图形工具
实验2:
ssh 远程主机用户@远程主机ip command ##直接在远程主机运行某条命令
实验3:
3.sshkey加密:
(1)生成公钥私钥
[root@server0 ~]# ssh-keygen ##生成公钥私钥工具
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):[enter] ##加密字符保存文件(建议用默认)
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): [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:81 root@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 ##公钥,就是锁
实验4:
我们在服务端设置公钥,私钥。
设置完成后接下来我们可以看看文件到底生成否:
(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
实验5:
当我们添加完key认证方式后,被加密的主机用户对应文件夹会多两个文件,我们查看下:
(3)分发钥匙给client主机
[root@server0 ~]# scp /root/.ssh/id_rsa root@172.25.0.10:/root/.ssh/
服务主机给客户主机分发钥匙后,在客户主机上的/root/.ssh/目录下就会多出两个文件(为了实验效果,前面已经删除掉该目录下的所有文件及目录),如下图所示:
此时,因为客户端有钥匙(服务端给的钥匙文件),所以可以不用输入密码即可连接!
4。提升openssh的安全级别
(1)openssh-server配置文件
/etc/ssh/sshd_config
78 PasswordAuthentication yes|no ##是否开启用户密码认 证,yes为支持no为关闭
48 PermitRootLogin yes|no ##是否允许超级用户登陆
实验6:
实验前提:进行该实验之前先把客户端主机上的钥匙文件删掉。
出现的问题:第一次删除id rsa文件,没删掉。
解决:你得先进入相应文件夹,不能在主文件夹下删除。
(1)在服务端 vim进入/etc/ssh/sshd_config
设置是否开启用户密码认证,yes为支持no为关闭,此时设置为no,如下:
(2)此时在客户主机连接服务主机,观察是否可以密码连接:
实验失败!
原因及解决:sshd.service是服务,记得每次修改完配置文件都要重启服务!如下所示:
试验成功!客户主机连接服务主机就需要输入密码,结果发现无法连接:
(做完测试记得把钥匙文件再发送给客户主机,以便下次实验进行)。
49 AllowUsers student westos ##用户白名单,只有在名单中出现的用户可以使用sshd建立shell
50 DenyUsers westos ##用户黑名单
注意:在服务端设置用户黑白名单时,意思是客户端不可以/可以访问服务器端的对应名单用户!
实验7:
当设置黑名单后,客户端无法访问服务端的student用户:
(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 world ##在登陆后就会显示这个字符
改完配置文件后,运行结果如下:
##end##
- Linux 基础学习篇9(网络服务ssh篇)
- Linux网络服务(一)
- Linux网络服务(二)
- 详解Linux基础网络服务之DNS域名解析
- Linux基础学习(三)ssh apache tar
- Linux网络服务
- linux网络服务
- linux网络服务
- SSH-基础篇-Action
- Linux学习记录(17)SSH协议及Linux日志基础
- Openstack学习(一)---------------网络服务Neutron
- Linux学习笔记(一)-基础篇
- Linux 学习笔记2015(基础篇)
- SSH-基础篇-DaoImpl(Dept,Emp)
- linux基础之ssh
- 4412开发板学习之Linux系统网络服务
- 鸟哥linux-基础篇学习
- Linux学习基础篇(一)
- effective java(22) 之优先考虑静态成员类
- List和Set
- jdbc基础知识
- git版本控制工具使用教程(二)团队开发
- centos安装telnet服务
- Linux 基础学习篇9(网络服务ssh篇)
- Qt 作图基础
- Middle number(优先队列)
- VS2015中使用scanf()不报错的设置方法
- Codeforces 461B 树DP 解题报告
- BZOJ 1618: [Usaco2008 Nov]Buying Hay 购买干草
- FreeMarker(一)字符输出
- PHP对redis操作详解【转】
- ngx自定义一个判断是否点击本节点的指令