配置ssh以及ssh的安全管理

来源:互联网 发布:淘宝促销商品关键词 编辑:程序博客网 时间:2024/05/16 17:35

配置ssh以及ssh的安全管理

一 使用ssh

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

    systemctlstatus 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)指定允许登陆本机的人

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

(4)密钥

作为一大块儿来写

 

三 ssh 密钥

(1)《客户端》主机叫做C,IP是172.25.254.1 正在以kiosk身份登陆。~/.ssh/下空

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

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

[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 iseb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.

Are you sure you want to continueconnecting (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 2014

[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 1310:06 ..

-rw-r--r--. 1 kiosk kiosk  173 Oct 13 11:11known_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]$ sshroot@172.25.1.10

root@172.25.1.10's password:

Last login: Mon Oct 13 11:11:45 2014 from172.25.1.250

[root@desktop1 ~]#

(3)PasswordAuthentication yes改我no

在S端:

vim /etc/ssh/sshd_config

Ststemctl  restart sshd.service

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

在C端:

[kiosk@foundation1 .ssh]$ sshroot@172.25.1.10

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

(4)PasswordAuthentication yes 且PermitRootLogin 设置为no

在S端:

vim /etc/ssh/sshd_config

Ststemctl  restart sshd.service

这样别人就不能登陆S的root用户了

在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:

Permission denied, please try again.

student@172.25.1.10's password:

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

There was 1 failed login attempt sincethe last successful login.

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

[student@desktop1 ~]$

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

添加一行alowusersstudent bai 随便再哪添加都行。可以以白名单中的人身份student和bai登陆。

在S端:

vim /etc/ssh/sshd_config

Ststemctl  restart sshd.service

 

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

[kiosk@foundation1 .ssh]$ sshxue@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]$ sshbai@172.25.1.10

bai@172.25.1.10's password:

Last login: Mon Oct 13 12:00:01 2014 fromdesktop1.example.com

[bai@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 ~]# sshstudent@172.25.1.10

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

[root@foundation1 ~]# logout

[kiosk@foundation1 .ssh]$ sshstudent@172.25.1.10

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

Last login: Mon Oct 13 12:29:54 2014 from172.25.1.250

[student@desktop1 ~]$ 

0 0