ssh

来源:互联网 发布:耳机对耳朵的伤害 知乎 编辑:程序博客网 时间:2024/05/02 04:28

配置ssh以及ssh的安全管理

一 使用ssh

(1)先看看sshd服务有没有开启

         systemctl status sshd.service

(2)ssh root@192.168.3.252(连接远程主机192.168.3.252,以root用户身份登陆)

         ssh kiosk@192.168.3.252 rm -rf /home/kiosk/* (连接主机并执行命令)

(3)scp localfile root@192.168.3.252:/root/Desktop (把本地文件拷贝到远程主机的桌面上)

         scp -r root@192.168.3.252:/root/Desktop/Document/ .(把远程主机的目录拷贝到当前目录)

二 ssh的安全管理

就是对vim /etc/ssh/sshd_config这个文件的修改

(1)服务是开着的,但是别人都登不上。

#PasswordAuthentication yes改为no 别人就连不上你的主机了,即使别人知道你的密码也不行

systemctl reload sshd 重启服务试以下就知道了

2)是否能以root身份登陆

#PermitRootLogin yes 改为no 就不能以root身份登陆了,但是可以以其他用户身份登陆

(3)指定允许登陆本机的人

添加一行alowusers lee test 随便再哪添加都行。可以以白名单中的人身份leetest登陆。

三 ssh验证

第一种(基于口令的安全验证)
      知道自己帐号和口令,登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。
第二种(基于密匙的安全验证)
       需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。
密钥:

(1)(客户端)主机叫做CIP172.25.254.1 正在以kiosk身份登陆。~/.ssh/下空

         (服务端)虚拟机叫做SIP172.25.1.10  正在以root身份登陆(因为涉及到修改系统配置文件所以要以root身份登陆)。 ~/.ssh/下空。ssh服务已经开启。/etc/ssh/sshd_config是原始配置。

(2)C知道S的密码,S允许CS的密码登陆

[kiosk@foundation1 .ssh]$ ssh root@172.25.1.10

The authenticity of host '172.25.1.10 (172.25.1.10)' 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.1.10' (ECDSA) to the list of known hosts.

root@172.25.1.10's password: ***

Last login: Mon Oct 13 10:35:34 2015

[root@desktop1 ~]#   (看已经登陆上了)

下面看C~/.ssh/下多了什么东西?(known_hosts文件)

[kiosk@foundation1 .ssh]$ ls -al

total 8

drwxrwxr-x.  2 kiosk kiosk   24 Oct 13 11:11 .

drwx------. 22 kiosk kiosk 4096 Oct 13 10:06 ..

-rw-r--r--.  1 kiosk kiosk  173 Oct 13 11:11 known_hosts

看看konwn_hosts的内容,就的我们刚才登陆过的主机S。所以我们登陆过哪些主机,在这里都会有记录。

[kiosk@foundation1 .ssh]$ cat known_hosts 

172.25.1.10 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHX+o9KAnlfw2dE7CsmM4hqfv1udM79a5NWC2BuWlmfKSwfYLptPQMJF8bnqaz0EjDlxCxRu/aito+GphPLzp/k=

 

下次再登陆known_hosts里记录的主机时就会直接让你输入密码,没有那么多罗嗦的信息

[kiosk@foundation1 .ssh]$ ssh root@172.25.1.10

root@172.25.1.10's password: 

Last login: Mon Oct 13 11:11:45 2015 from 172.25.1.250

[root@desktop1 ~]#

(3)PasswordAuthentication yesno

S端:

vim  /etc/ssh/sshd_config

**********************************************************************************************

PasswordAuthentication no

**********************************************************************************************

systemctl  restart  sshd.service

密码授权改为no。就是不能通过密码来登陆了。默认会看C~/.ssh/下有没有证书,如果没有证书就会拒绝C的连接。

C端:

[kiosk@foundation1 .ssh]$ ssh root@172.25.1.10

Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

(4)PasswordAuthentication yes PermitRootLogin 设置为no

S端:

vim  /etc/ssh/sshd_config

**********************************************************************************************

PasswordAuthentication yes 

PermitRootLoginno

**********************************************************************************************

systemctl  restart  sshd.service

这样别人就不能登陆Sroot用户了

C端:

[kiosk@foundation1 .ssh]$ ssh root@172.25.1.10 (没有权限)

root@172.25.1.10's password: 

Permission denied, please try again.

root@172.25.1.10's password: 

 

[kiosk@foundation1 .ssh]$ ssh student@172.25.1.10 (可以以普通用户登陆成功)

student@172.25.1.10's password: 

Last failed login: Mon Oct 13 11:39:21 CST 2015 from 172.25.1.250 on ssh:notty

There was 1 failed login attempt since the last successful login.

Last login: Mon Oct 13 10:24:26 2015

[student@desktop1 ~]$ 

5S上有很多用户,指定S端的哪些用户可以被远程登陆

添加一行alowusers student test 随便再哪添加都行。可以以白名单中的人身份studenttest登陆。

S端:

vim  /etc/ssh/sshd_config

***********************************************************************************************

alowusers student test

***********************************************************************************************

systemctl  restart  sshd.service

 

C端: (在白名单中的用户可以被远程登陆,其他人不可以)

[kiosk@foundation1 .ssh]$ ssh xue@172.25.1.10

xue@172.25.1.10's password: 

Permission denied, please try again.

xue@172.25.1.10's password: 

 

[kiosk@foundation1 .ssh]$ ssh test@172.25.1.10

test@172.25.1.10's password: 

Last login: Mon Oct 13 12:00:01 2015 from desktop1.example.com

[test@desktop1 ~]$

(6)以上都是知道要登陆的用户的密码。这是很不安全的。我们以非对称加密的方式来登陆系统。

 在S端:

ssh-keygen 命令来产生公钥和私钥。分别为id_rsa.pub id_rsa

用公钥给某个远程登陆加密:ssh-copy-id  -i id_rsa.pub student@172.25.1.10 (必须要有对应的私钥才行)

把私钥发送给你授权远程登陆的人scp id_rsa kiosk@172.25.254.1:/home/kiosk/.ssh/

 

C端:(有私钥的人才能连接,也就是有id_rsa的人才能连接)

[root@foundation1 ~]# ssh student@172.25.1.10

Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

[root@foundation1 ~]# logout

[kiosk@foundation1 .ssh]$ ssh student@172.25.1.10

Enter passphrase for key '/home/kiosk/.ssh/id_rsa': 

Last login: Mon Oct 13 12:29:54 2015 from 172.25.1.250

[student@desktop1 ~]$ 





 
0 0
原创粉丝点击