sshd
来源:互联网 发布:农业大数据应用云平台 编辑:程序博客网 时间:2024/06/04 23:34
openssh-server
1.openssh-server
功能:让远程主机可以通过网络访问sshd服务,开始一个安全shell
注意:
(1)为了便于识别两个虚拟机,现将两台虚拟机中行提示符里面的主机名进行修改。desktop虚拟机主机名设置为client,server虚拟机主机名设置为server。如下图所示:
(2)在两台虚拟机上均执行删除/root/.ssh/命令
(3)在两台虚拟机上均执行修改ip即nm-connection-editor命令
2.客户端连接方式
ssh 远程主机用户@远程主机ip
ssh root@172.25.0.11The 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 ##登陆成功
如下图所示,172.25.66.11为服务主机的ip,由于不是第一次连接,就不需要建立认证关系。
客户端连接到服务主机之后,我们可以在服务主机使用w -f查看,发现IP为172.25.66.10的主机连接上了。如下图所示:
ssh 远程主机用户@远程主机ip -X ##调用远程主机图形工具
客户主机通过ssh 远程主机用户@远程主机ip -X打开服务主机的gedit,服务主机通过w -f可查看到客户主机连接该机并执行gedit,如下图所示。
ssh 远程主机用户@远程主机ip command ##直接在远程主机运行某条命令
3.sshkey加密
(1)生成公钥私钥
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.comThe key's randomart image is:+--[ RSA 2048]----+|o ||E. ||.. ||. . o ||.o. * . S ||oo.o o . ||+ =. . . ||o. oo.+.. || ..o*. |+-----------------+
在服务主机生成公钥私钥,该操作的过程如图所示:
ls /root/.ssh/id_rsa id_rsa.pubid_rsa ##私钥,就是钥匙id_rsa.pub ##公钥,就是锁
生成公钥私钥,查看/root/.ssh/下的文件内容就会发现有公钥和私钥的两个文件(在操作前,我已经删除掉该目录下的所有文件及目录),如下图所示:
(2)添加key认证方式
ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.0.11ssh-copy-id ##添加key认证方式的工具-i ##指定加密key文件/root/.ssh/id_rsa.pub ##加密keyroot ##加密用户为root172.25.0.11 ##被加密主机ip
生成公钥私钥后,需要添加key认证方式,也就是给服务主机上锁。如下图所示:
认证成功,就会发现/root/.ssh/目录下面会多两个文件,如下图所示:
(3)分发钥匙给client主机
scp /root/.ssh/id_rsa root@172.25.0.10:/root/.ssh/
然后得把钥匙文件发送给客户主机,如下图所示:
服务主机给客户主机分发钥匙后,在客户主机上的/root/.ssh/目录下就会多出两个文件(在操作前,我已经删除掉该目录下的所有文件及目录),如下图所示:
(4)测试
ssh root@172.25.0.11 ##通过id_rsa直接连接不需要输入用户密码Last login: Mon Oct 3 03:58:10 2016 from 172.25.0.250
测试结果如下图所示:
4.提升openssh的安全级别
(1)openssh-server配置文件
/etc/ssh/sshd_config
78 PasswordAuthentication yes|no ##是否开启用户密码认证,yes为支持no为关闭
把yes改为no,然后测试。进行该测试之前先把客户主机上的钥匙文件删掉,这要客户主机连接服务主机就需要输入密码,结果发现无法连接(做完测试记得把钥匙文件再发送给客户主机)。测试结果如下:
48 PermitRootLogin yes|no ##是否允许超级用户登陆
把yes改为no,如下图:
然后进行测试
49 AllowUsers student westos ##用户白名单,只有在名单中出现的用户可以使用sshd建立shell
50 DenyUsers westos ##用户黑名单
(2)控制ssh客户端访问
vim /etc/hosts.deny
sshd:ALL ##拒绝所有人链接sshd服务
vim /etc/hosts.allow
sshd:172.25.254.250 ##允许250主机链接sshdsshd:172.25.254.250, 172.25.254.180##允许250和180链接sshd:ALL EXCEPT 172.25.254.200 ##只不允许200链接sshd
设置spawn,客户主连接服务主机会显示客户主机的ip。
(3)ssh登陆提示修改该
vim /etc/motd ##显示登陆后字符hello world ##在登陆后就会显示这个字符
注意:白名单与黑名单的设置必须与78及48行的设置内容一致
- sshd
- sshd
- sshd ???
- sshd
- sshd
- sshd安全
- sshd移植
- sshd配置
- sshd配置
- sshd服务
- linux--sshd
- sshd服务
- sshd服务
- linux sshd
- 【docker】sshd
- sshd 服务【sshd 端口/配置】
- service sshd restart sshd unrecognized service
- cygwin下运行sshd
- Elasticsearch 学习笔记 Elasticsearch及Elasticsearch head安装配置
- 全文搜索引擎 Elasticsearch 入门教程
- RedHat Linux下获取snmp信息不全的解决办法
- python 面向对象
- 合并Spark社区代码的正确姿势
- sshd
- HDOJ 1214 圆桌会议
- 平台测试也是个大问题
- Spring Cloud引导应用程序上下文
- for in 循环的小细节
- MySQL --使用INSERT...SELECT
- ip及网络基础知识
- Ntrip通讯协议1.0
- LEA