centos创建密钥?centos7默认密码

CentOS下生成自签名的证书的方法详解

1.生成自签名的证书

通常要配置https的服务器,都需要一个由正式的CA机构认证的X509证书。当客户端连接https服务器时,会通过CA的共钥来检查这个证书的正确性。但要获得CA的证书是一件很麻烦的事情,而且还要花费一定的费用。因此通常一些小的机构会是使用自签名的证书。也就是自己做CA,给自己的服务器证书签名。

这个过程有两个主要的步骤,首先是生成自己的CA证书,然后再生成各个服务器的证书并为它们签名。我是用OpenSSL来生成自签名证书的。

第一步是制作CA的证书:

opensslgenrsa-des3-outmy-ca.key2048

opensslreq-new-x509-days3650-keymy-ca.key-outmy-ca.crt

这会生成my-ca.key和my-ca.crt文件,前者存放着使用my-ca.crt制作签名时必须的密钥,应当妥善保管。而后者是可以公开的。上面的命令为my-ca.key设定的有效期为10年。

用命令

opensslx509-inmy-ca.crt-text-noout

可以查看my-ca.crt文件的内容。

有了CA证书之后,就可以为自己的服务器生成证书了:

opensslgenrsa-des3-outmars-server.key1024

opensslreq-new-keymars-server.key-outmars-server.csr

opensslx509-req-inmars-server.csr-outmars-server.crt-sha1-CAmy-ca.crt-CAkeymy-ca.key-CAcreateserial-days3650

前两个命令会生成key、csr文件,最后一个命令则通过my-ca.crt为mars-server.csr制作了x509的签名证书。

需要注意的是,在执行上述第二个命令时,CommonName选项应当输入的是服务器的域名,否则在用户通过https协议访问时每次都会有额外的提示信息。

用命令

opensslx509-inmars-server.crt-text-noout

可以查看mars-server.crt文件的内容。

2.配置Apache服务器

首先,创建/etc/apache2/ssl目录,将刚刚制作的my-ca.crt、mars-server.key和mars-server.crt文件拷贝到这个目录中。

接着执行命令

a2emodssl

激活Apache的SSL模块,然后在/etc/apache2/sites-enable/中添加虚拟主机,这个过程与添加普通的虚拟主机类似,不同点在于该主机的端口应为443。配置如下:

NameVirtualHost*:443

ServerNamelocalhost

DocumentRoot/var/www

SSLEngineOn

SSLCipherSuiteHIGH:MEDIUM

SSLProtocolall-SSLv2

SSLCertificateFile/etc/apache2/ssl/mars-server.crt

SSLCertificateKeyFile/etc/apache2/ssl/mars-server.key

SSLCACertificateFile/etc/apache2/ssl/my-ca.crt

var/www>

Orderdeny,allow

Allowfromlocalhost

ServerNamelocalhost

DocumentRoot/var/www

var/www>Orderdeny,allow

Allowfromlocalhost

以上配置保证了用户在访问443和80端口时可以看到相同的内容,而仅仅是使用的协议不同。修改好配置后,便可以重启Apache服务器,这时需要输入mars-server.key的密码。用浏览器访问

这时应当看到一个弹出对话框,让你确认是否信任该站点的证书,选择信任后,便可以查看该站点的内容了。

由于大多数Apache服务器都是在服务器启动时自动启动,为了避免在启动Apache时输入密码,可以用以下命令生成不加密的mars-server.key文件:

opensslrsa-inmars-server.key-outmars-server.key.insecure

用新生成的mars-server.key.insecure代替原有的key文件即可。

Centos7 SSH密钥登陆及密码密钥双重验证详解

一、首先登陆centos,切换用户,切换到你要免密码登陆的用户,进入到家目录,以下我以root为例,命令:

su root

cd~

二、创建钥匙,命令:ssh-keygen-t rsa,一路按Y搞定

三、按照流程走完后会在~/.ssh目录下(用户所在家目录下的.ssh目录)看到id_rsa, id_rsa.pub文件第一个是私有密钥第二个是公共密钥

四、修改SSH配置文件,命令:vim/etc/ssh/sshd_config

#禁用root账户登录,如果是用root用户登录请开启

PermitRootLogin yes

#是否让 sshd去检查用户家目录或相关档案的权限数据,

#这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。

#例如使用者的~.ssh/权限设错时,某些特殊情况下会不许用户登入

StrictModes no

#是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。

#至于自制的公钥数据就放置于用户家目录下的.ssh/authorized_keys内

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile.ssh/authorized_keys

#有了证书登录了,就禁用密码登录吧,安全要紧

PasswordAuthentication no

五、因为在第四步指定了AuthorizedKeysFile的放置位置为.ssh/authorized_keys,所以还需把公钥数据id_rsa.pub附加到 authorized_keys这个档案内才行,命令:

cd~/.ssh

cat id_ras.pub authorized_keys

重启SSH服务,命令:systemctl restart sshd.service

六、下载私钥,这里我使用了rz/sz工具(你也可以使用其他方式),系统默认没有安装,先安装,命令:yum-y install lrzsz

SecureCRT配置:选项会话选项X/Y/Zmodem,修改上传和下载的目录。

现在开始下载,命令:

cd~/.ssh

sz id_ras

然后到你之前配置的下载目录去找,把私钥导入到SecurtCRT,方法:

选项会话选项SSH2,在鉴权一栏中点击公钥(注意因为前面已经禁用了密码登陆,我们还得把密码这一栏的勾去掉,否则会无法登陆),点属性,点击使用会话公钥设置,然后在下方的使用身份或证书文件中,选择你刚才下载来的私钥文件,点确定即可。

七、以上所有配置完成,看网上别的教程还说要注意各文件权限问题,我做实验的过程没有遇到,也可能我使用的是root用户的原因,如果你们在过程中有权限报错,建议权限设置:

~/.ssh/ 700

.ssh/authorized_keys 644

.ssh/id_rsa 600且属于你当前要添加的用户

八、让服务器更安全,开启密码和证书双重验证,先修改SSH配置文件:

vim/etc/ssh/sshd_config

PasswordAuthentication改为yes

然后再加一条:uthenticationMethods publickey,password

重启SSH服务:systemctl restart sshd.service

SecureCRT配置:因为之前在第六步中把密码去掉了,还得把它再勾起来,选项会话选项SSH2,把密码这一栏勾起来即可。

个人经验:在配置完成后不要关闭当前SecurtCRT的连接窗口,你可以使用新建连接尝试登陆,以免配置出错,造成服务器无法登陆。

Centos7SSH密钥登陆及密码密钥双重验证详解

一、首先登陆centos,切换用户,切换到你要免密码登陆的用户,进入到家目录,以下我以root为例,命令:

su root

cd~

二、创建钥匙,命令:ssh-keygen-t rsa,一路按Y搞定

三、按照流程走完后会在~/.ssh目录下(用户所在家目录下的.ssh目录)看到id_rsa, id_rsa.pub文件第一个是私有密钥第二个是公共密钥

四、修改SSH配置文件,命令:vim/etc/ssh/sshd_config

#禁用root账户登录,如果是用root用户登录请开启

PermitRootLogin yes

#是否让 sshd去检查用户家目录或相关档案的权限数据,

#这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。

#例如使用者的~.ssh/权限设错时,某些特殊情况下会不许用户登入

StrictModes no

#是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。

#至于自制的公钥数据就放置于用户家目录下的.ssh/authorized_keys内

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile.ssh/authorized_keys

#有了证书登录了,就禁用密码登录吧,安全要紧

PasswordAuthentication no

五、因为在第四步指定了AuthorizedKeysFile的放置位置为.ssh/authorized_keys,所以还需把公钥数据id_rsa.pub附加到 authorized_keys这个档案内才行,命令:

cd~/.ssh

cat id_ras.pub>> authorized_keys

重启SSH服务,命令:systemctl restart sshd.service

六、下载私钥,这里我使用了rz/sz工具(你也可以使用其他方式),系统默认没有安装,先安装,命令:yum-y install lrzsz

SecureCRT配置:选项→会话选项→X/Y/Zmodem,修改上传和下载的目录。

现在开始下载,命令:

cd~/.ssh

sz id_ras

然后到你之前配置的下载目录去找,把私钥导入到SecurtCRT,方法:

选项→会话选项→SSH2,在鉴权一栏中点击公钥(注意因为前面已经禁用了密码登陆,我们还得把密码这一栏的勾去掉,否则会无法登陆),点属性,点击使用会话公钥设置,然后在下方的使用身份或证书文件中,选择你刚才下载来的私钥文件,点确定即可。

七、以上所有配置完成,看网上别的教程还说要注意各文件权限问题,我做实验的过程没有遇到,也可能我使用的是root用户的原因,如果你们在过程中有权限报错,建议权限设置:

~/.ssh/ 700

.ssh/authorized_keys 644

.ssh/id_rsa 600且属于你当前要添加的用户

八、让服务器更安全,开启密码和证书双重验证,先修改SSH配置文件:

vim/etc/ssh/sshd_config

PasswordAuthentication改为yes

然后再加一条:uthenticationMethods publickey,password

重启SSH服务:systemctl restart sshd.service

SecureCRT配置:因为之前在第六步中把密码去掉了,还得把它再勾起来,选项→会话选项→SSH2,把密码这一栏勾起来即可。

个人经验:在配置完成后不要关闭当前SecurtCRT的连接窗口,你可以使用新建连接尝试登陆,以免配置出错,造成服务器无法登陆。

阅读剩余
THE END