centos rsa 生成 centos编写shell脚本

各位老铁们好,相信很多人对centos rsa 生成都不是特别的了解,因此呢,今天就来为大家分享下关于centos rsa 生成以及centos编写shell脚本的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

如何在CentOS 7中安装Git

1.首先,使用管理员身份登录到CentOS7系统。2.确定系统中是否已经安装了Git。可以通过运行以下命令来检查: ``` git--version ```如果该命令返回Git的版本信息,则说明Git已经安装了,并且可以跳过接下来的步骤。3.如果你的系统上没有Git,可以通过运行以下命令来安装Git: ``` sudo yum install git ```这将下载并安装最新的Git版本。4.在安装完成后,运行以下命令来确保Git已经正确安装并运行: ``` git--version ```输出应该显示Git的版本信息。现在Git已经在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文件即可。

如何在 CentOS / RHEL 上设置 SSH 免密码登录

作为系统管理员,你计划在 Linux上使用 OpenSSH,完成日常工作的自动化,比如文件传输、备份数据库转储文件到另一台服务器等。为实现该目标,你需要从主机 A能自动登录到主机 B。自动登录也就是说,要在 shell脚本中使用ssh,而无需要输入任何密码。

本文会告诉你怎样在 CentOS/RHEL上设置 SSH免密码登录。自动登录配置好以后,你可以通过它使用 SSH(Secure Shell)和安全复制(SCP)来移动文件。

SSH是开源的,是用于远程登录的最为可靠的网络协议。系统管理员用它来执行命令,以及通过 SCP协议在网络上向另一台电脑传输文件。

通过配置 SSH免密码登录,你可以享受到如下的便利:

用脚本实现日常工作的自动化。

增强 Linux服务器的安全性。这是防范虚拟专用服务器(VPS)遭受暴力破解攻击的一个推荐的方法,SSH密钥单凭暴力破解是几乎不可攻破的。

什么是 ssh-keygen

ssh-keygen是一个用来生成、创建和管理 SSH认证用的公私钥的工具。通过 ssh-keygen命令,用户可以创建支持SSH1和 SSH2两个协议的密钥。ssh-keygen为 SSH1协议创建 RSA密钥,SSH2则可以是 RSA或 DSA。

什么是 ssh-copy-id

ssh-copy-id是用来将本地公钥拷贝到远程的 authorized_keys文件的脚本命令,它还会将身份标识文件追加到远程机器的~/.ssh/authorized_keys文件中,并给远程主机的用户主目录适当的的权限。

SSH密钥

SSH密钥为登录 Linux服务器提供了更好且安全的机制。运行 ssh-keygen后,将会生成公私密钥对。你可以将公钥放置到任意服务器,从持有私钥的客户端连接到服务器的时,会用它来解锁。两者匹配时,系统无需密码就能解除锁定。

在 CentOS和 RHEL上设置免密码登录 SSH

以下步骤在 CentOS 5/6/7、RHEL 5/6/7和 Oracle Linux 6/7上测试通过。

节点1: 192.168.0.9节点2: 192.168.l.10

步骤1:

测试节点1到节点2的连接和访问:

[root@node1~]# ssh root@192.168.0.10The authenticity of host'192.168.0.10(192.168.0.10)' can't be established.RSA key fingerprint is 6d:8f:63:9b:3b:63:e1:72:b3:06:a4:e4:f4:37:21:42.Are you sure you want to continue connecting(yes/no)? yesWarning: Permanently added'192.168.0.10'(RSA) to the list of known hosts.root@192.168.0.10's password:Last login: Thu Dec 10 22:04:55 2015 from 192.168.0.1[root@node2~]#

步骤二:

使用 ssh-key-gen命令生成公钥和私钥,这里要注意的是可以对私钥进行加密保护以增强安全性。

[root@node1~]# ssh-keygenGenerating public/private rsa key pair.Enter file in which to save the key(/root/.ssh/id_rsa):Enter passphrase(empty for no passphrase):Enter same passphrase again: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:b4:51:7e:1e:52:61:cd:fb:b2:98:4b:ad:a1:8b:31:6d root@node1.ehowstuff.localThe key's randomart image is:+--[ RSA 2048]----+|.++|| o o o|| o o o.||. o+..|| S..||....|| o E oo.o||= ooo.||. o.o.|+-----------------+

步骤三:

用 ssh-copy-id命令将公钥复制或上传到远程主机,并将身份标识文件追加到节点2的~/.ssh/authorized_keys中:

[root@node1~]# ssh-copy-id-i~/.ssh/id_rsa.pub 192.168.0.10root@192.168.0.10's password:Now try logging into the machine, with"ssh'192.168.0.10'", and check in:.ssh/authorized_keysto make sure we haven't added extra keys that you weren't expecting.

步骤四:

验证免密码 SSH登录节点2:

[root@node1~]# ssh root@192.168.0.10Last login: Sun Dec 13 14:03:20 2015 from www.ehowstuff.local

我希望这篇文章能帮助到你,为你提供 SSH免密码登录 CentOS/ RHEL的基本认知和快速指南。

阅读剩余
THE END