bash 스크립트에 openssl 입력 파이프

bash 스크립트에 openssl 입력 파이프

bash 스크립트의 입력을 스크립트 내에서 실행하는 명령으로 전달해야 합니다. 나는 무엇을 해야할지 모르겠습니다. 나는 하루 종일 비슷한 것을 찾고 있었습니다 bash.

#!/bin/env bash

# This script is used for generating ssl cert's for websites
# ==========================================================
# Version 1.0
# ==========================================================

# Working dir
# ===========
cd "$(dirname "$0")"

# Debugging
# =========
set -x

# Imput options
# =============
read -p "Domain name: " domain_name;
read -p "Enter password: " pass;


# Verify if there is imput "conditional expressions"
# man test; help [[
# ==================================================
if [[ $domain_name ]]; then
  openssl genrsa -aes256 -out root/ca/intermediate/private/${domain_name}.key.pem 2048
  chmod 400 root/ca/intermediate/private/${domain_name}.key.pem
  openssl req -config root/ca/intermediate/openssl.cnf -key root/ca/intermediate/private/${domain_name}.key.pem -new -sha256 -out root/ca/intermediate/csr/${domain_name}.csr.pem
  openssl ca -config root/ca/intermediate/openssl.cnf -extensions server_cert -days 475 -notext -md sha256 -in root/ca/intermediate/csr/${domain_name}.csr.pem -out root/ca/intermediate/certs/${domain_name}.cert.pem
  chmod 444 root/ca/intermediate/certs/${domain_name}.cert.pem
else
  echo "Insert a domain name."
fi
if openssl x509 -noout -text -in intermediate/certs/${domain_name}.cert.pem; then
  openssl verify -CAfile root/ca/intermediate/certs/ca-chain.cert.pem intermediate/certs/${domain_name}.cert.pem
fi

ssl실제로 실패하지 않고 자체 서명된 인증서를 자동으로 생성하려면 스크립트가 필요합니다 .

전달해야 하는 입력은 password, 입니다 domain name.

답변1

유사한 방법을 사용하여 Bash에서 이 작업을 수행할 수 있습니다.

#!/bin/bash
domain="domain.com"
pass="somethingCompleX"
your_script.sh <<EOF
$domain
$password
EOF

귀하의 질문에 제공된 스크립트인 "your_script.sh"를 사용하십시오.

이 구문을 사용하면 스크립트 입력에 일부 문자열을 전달할 수 있습니다. 첫 번째는 <<EOF스크립트에 전달하려는 문자열의 끝을 나타내는 "파일 끝" 표시를 제공합니다. 이후의 모든 문자는 스크립트로 전달되므로

your_script.sh <<EOF
foo
bar
EOF

동일한

$ your_script.sh
Domain name: foo
password: bar

이것도 참고하시면 됩니다stackoverflow에 대한 답변

관련 정보