Linux-------ssh(远程连接主机)、sshkey(加密传输)

一、openssh


当主机中开启openssh服务,那么就对外开放了远程连接的接口

#openssh服务的服务端

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


二、客户端连接方式

ssh   服务端用户@服务端ip地址

 

例如

ssh   [email protected]   ##在客户端用ssh命令连接172.25.0.10主机的root用户

 

[root@localhost ~]# ssh [email protected]

The authenticity of host '172.25.254.200 (172.25.254.200)' 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)?

 ##当当前主机第一次连接陌生主机时

##会自动建立.ssh/know_hosts

##这个文中记录的是连接过的主机信息


[email protected]'s password: #输入密码连接成功

Last login: Fri Mar 30 02:05:52 2018 from 172.25.254.100

[root@localhost ~]# exit #表示退出当前连接

logout

Connection to 172.25.254.200 closed.

 

 

"注意:以上连接方式是不能打开远程主机的图形功能的如果需要打开远程主机图形功能需要输入 -X"

ssh -X [email protected]

cheese

 

Linux-------ssh(远程连接主机)、sshkey(加密传输)_第1张图片

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

Linux-------ssh(远程连接主机)、sshkey(加密传输)_第2张图片

ssh    远程主机用户@远程主机ip     command     ##直接在远程主机运行某条命令

注:sshsshd是客户端(Client)与服务端(Serve)的关系,这种关系是相对的,也是连接与被连接的关系

三、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 [email protected]

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

Linux-------ssh(远程连接主机)、sshkey(加密传输)_第3张图片

2.添加key认证方式

[root@server0 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub  [email protected]

ssh-copy-id     ##添加key认证方式的工具

-i          ##指定加密key文件

/root/.ssh/id_rsa.pub   ##加密key

root            ##加密用户为root

172.25.0.11     ##被加密主机ip

Linux-------ssh(远程连接主机)、sshkey(加密传输)_第4张图片

3.分发钥匙给client主机

[root@server0 ~]# scp /root/.ssh/id_rsa [email protected]:/root/.ssh/

4.测试

[root@desktop0 ~]# ssh [email protected]     ##通过id_rsa直接连接不需要输入用户密码

Last login: Mon Oct  3 03:58:10 2016 from172.25.0.250

[root@server0 ~]# 

Linux-------ssh(远程连接主机)、sshkey(加密传输)_第5张图片

四、提升openssh的安全级别

1.openssh-server配置文件

vim  /etc/ssh/sshd_config


78 PasswordAuthentication yes|no        ##是否开启用户密码认证,yes为支持no为关闭

Linux-------ssh(远程连接主机)、sshkey(加密传输)_第6张图片

48 PermitRootLogin yes|no           ##是否允许超级用户登陆

Linux-------ssh(远程连接主机)、sshkey(加密传输)_第7张图片

Linux-------ssh(远程连接主机)、sshkey(加密传输)_第8张图片

# 上图为permitRootLogin yes时所产生的效果

Linux-------ssh(远程连接主机)、sshkey(加密传输)_第9张图片

# 上图为permitRootLogin no时所产生的效果

49 AllowUsers student westos            ##用户白名单,只有在名单中出现的用户可以使用sshd建立shell

Linux-------ssh(远程连接主机)、sshkey(加密传输)_第10张图片

50 DenyUsers westos             ##用户黑名单

Linux-------ssh(远程连接主机)、sshkey(加密传输)_第11张图片

2.控制ssh客户端访问

vim /etc/hosts.deny

sshd:ALL        ##拒绝所有人链接sshd服务

Linux-------ssh(远程连接主机)、sshkey(加密传输)_第12张图片

vim /etc/hosts.allow

sshd:172.25.254.250   ##允许250主机链接sshd

Linux-------ssh(远程连接主机)、sshkey(加密传输)_第13张图片

sshd:172.25.254.250 172.25.254.180    ##允许250180链接

sshd:ALL EXCEPT 172.25.254.200      ##只不允许200链接sshd

Linux-------ssh(远程连接主机)、sshkey(加密传输)_第14张图片

3.ssh登陆提示修改该

vim /etc/motd       ##显示登陆后字符

hello world     ##在登陆后就会显示这个字符

Linux-------ssh(远程连接主机)、sshkey(加密传输)_第15张图片

你可能感兴趣的:(Linux-------ssh(远程连接主机)、sshkey(加密传输))