openssh-server (sshd)

来源:互联网 发布:patch软件资源下载 编辑:程序博客网 时间:2024/06/06 00:05

一.openssh-server 是什么

功能:让远程主机可以通过网络访问sshd服务,开始一个安全shell




二.客户端连接方式

1.hostnamectl set-hostname 名字         ###更改主机名字

exit       ###退出 再进入完成更改



2.nm-connection-editor  ###进入网络配置  (将要进行实验的两台虚拟机更改到同一局域网内)



3.virt-manager    ###进入虚拟机占用内存管理(开启两台虚拟机占有过多内存导致系统卡顿 更改虚拟机占用内存)

双击需要更改内存的虚拟机


更改后apply保存 完成更改


4.vim /etc/motd        ###编辑登陆客户时的提示语




5.ssh    远程主机用户@远程主机ip

[root@desktop0 ~]# ssh root@172.25.99.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 ~]#                    ##登陆成功




6.ssh 远程主机用户@远程主机ip -X                ##调用远程主机图形工具




7.ssh     远程主机用户@远程主机ip        'command'        ##直接在远程主机运行某条命令
例如:ssh root@172.25.99.11 'touch file{1..20} '    ###在11下的创建法ile{1..20}但不登陆11服务器


注意:ls -l/root/.ssh    ###查看建立knowns(当第一次登陆某个主机时 系统自动建立相关knows文件)



8.排错

当切换用户出现如下错误时

修改 /etc/ssh/.sshd_conf

然后将这两项的注释号去掉

Port 22

Protocol 2


保存退出并且重其服务i


再次用ssh服务尝试连接时就可以连接了






三.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    ##公钥,就是锁



2.添加key认证方式

[root@server0 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub  root@172.25.99.11    (给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_rsa root@172.25.99.10:/root/.ssh/



4.测试

[root@client ~]# ssh root@172.25.99.11        ##通过id_rsa直接连接不需要输入用户密码
Last login: Mon Oct  3 03:58:10 2016 from 172.25.99.250
[root@server0 ~]# 





四.提升openssh的安全级别

1.openssh-server配置文件:/etc/ssh/sshd_config


78 PasswordAuthentication yes|no        ##是否开启用户密码认证,yes为支持no为关闭重启服务后
48 PermitRootLogin yes|no            ##是否允许超级用户登陆保存修改并推出重启sshd服务后无法登陆11主机上的root用户 但仍可以登陆其他用户
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主机链接sshd
sshd:172.25.254.250, 172.25.254.180    ##允许250和180链接
sshd:ALL EXCEPT 172.25.254.200        ##只不允许200链接sshd
sshd:all :spawn echo %s from %c >dev/pts/0         ##所有人允许登陆 有人登陆时显示登陆路径 导到字符设备0中(屏幕)