OpenSSH:ssh协议的开源实现,C/S架构,客户端:ssh、scp、sftp,服务端:sshd。客户端配置文件:/etc/ssh/ssh_config,服务端配置文件:/etc/ssh/sshd_config。基于密钥的远程连接,客户端生成一对密钥,将公钥传给服务端。生成一对公钥#ssh-keygen,将公钥传给服务器#ssh-key-gen -i id_rsa.pub root@ip。
scp:跨主机复制
scp [option] SRC DEST
PUSH:scp [option] /PATH/FROM/SOMEFILE [user@]host:/PATH/TO/SOMEFILE
PULL:scp [option] [user@]host/PATH/FROM/SOMEFILE /PATH/TO/SOMEWHERE
常用选项:
-r:递归复制(复制目录中的所有文件)
-p:保持原文件的属性信息
-q:静默模式
-P port: host监听的端口
例:将/etc/httpd/ssl中的httpd.csr复制到192.168.1.68主机上的/etc/pki/CA中,将该目录上的httpd.crt复制到本机上
#scp /etc/httpd/sslhttpd.csr root@192.168.1.68:/etc/pki/CA
#scp root@192.168.1.68:/etc/pki/CA/httpd.crt /etc/httpd/ssl
CA搭建:
CA服务器生成自签证书,客户端生成签署请求并传给CA,CA签署并回传
服务端:
#(umask 077;openssl genrsa -out /private/cakey.pem 2048) umask 预设文件权限,使用括号只当前生效
#openssl req -new -x509 -key /private/cakey.pem -out /etc/pki/CA/cacert.pem -days 7300 req:请求 生成的证书名字按照/etc/pki/tls/openssl_config的要求来写
客户端:
#(umask 077;openssl genrsa -out /etc/httpd/httpd.key 2048) 生成私钥
#openssl req -new -key httpd.key -out httpd.csr 生成证书签署请求,格式一般为*.csr
#scp httpd.csr root@192.168.*:/etc/pki/CA
服务端:
#openssl ca -in httpd.csr -out httpd.crt 此时会出现错误,提示缺少文件,创建所需文件
#touch index.txt
#echo 00 > serial serialnuber必须要两位
#scp httpd.crt root@192.168.*:/etc/*
当证书生成错误时,也能生成证书,但是无法查看
#openssl x509 -in *.crt -noout -text 会提示格式不对
查看证书申请
#openssl req -in *csr -noout -text
一定要熟悉配置文件,很多错误都是因为配置文件引起的,多查看配置文件能解决大多数问题
例:the organizationName field needed to be the same inthe CA certificate and the request,组织名字要和CA一样,所以会报错,将组织名由MATH改为supplied(从强制适配改为提供),
原文:https://www.cnblogs.com/ggsddup/p/12320723.html