![SSH를 통해 원격 파일에 연결하면 한 줄씩 확장됩니다.](https://linux55.com/image/106688/SSH%EB%A5%BC%20%ED%86%B5%ED%95%B4%20%EC%9B%90%EA%B2%A9%20%ED%8C%8C%EC%9D%BC%EC%97%90%20%EC%97%B0%EA%B2%B0%ED%95%98%EB%A9%B4%20%ED%95%9C%20%EC%A4%84%EC%94%A9%20%ED%99%95%EC%9E%A5%EB%90%A9%EB%8B%88%EB%8B%A4..png)
다음 명령을 사용하여 원격 서버의 인증서 파일에 인증서를 추가하려고 합니다.
openssl s_client -connect host:port | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | minikube ssh 'sudo su - && cat >> /etc/ssl/certs/ca-certificates.crt'
그러나 원격 호스트는 원격 파일에 텍스트 줄을 추가하는 대신 텍스트 줄을 평가하려고 시도하여 다음과 같은 오류 메시지가 나타납니다.
-sh: line 1: -----BEGIN: command not found
-sh: line 2: MIIGETCCA/mgAwIBAgIQBNtwjkSfT+QGafgAnqb9JDANBgkqhkiG9w0BAQsFADBK: No such file or directory
-sh: line 3: MQswCQYDVQQGEwJOTDEdMBsGA1UEChMUS29uaW5rbGlqa2UgS1BOIE4uVi4xHDAa: command not found
-sh: line 4: BgNVBAMTE0tQTiBOLlYuIFByaXZhdGUgQ0EwHhcNMTYwNzI4MDAwMDAwWhcNMTkw: command not found
-sh: line 5: NzI4MjM1OTU5WjCBhDELMAkGA1UEBhMCTkwxFTATBgNVBAgMDFp1aWQgSG9sbGFu: command not found
.
.
.
-sh: line 35: -----END: command not found
이 줄이 평가되어 원격 파일에 추가되는 것을 방지하려면 어떻게 해야 합니까? 감사해요!
답변1
sudo su -
명령에 대한 입력 으로 인증서를 제공하므로 이를 쉘 명령으로 실행하려고 시도합니다. 실제로 원하는 것은 cat
다음 명령을 실행하는 것입니다 sudo
.
openssl s_client -connect host:port |
sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' |
minikube ssh 'sudo bash -c "cat >> /etc/ssl/certs/ca-certificates.crt"'