묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화
Contabo 무사히 가입했습니다!
제 뒤에 Contabo 가입하는 분들을 위해서 정보 남겨봐요! 여권정보와 한전앱에서 청구서 캡쳐해서 보냈습니다. 지류 청구서가 아니라서 통과 안되면 어쩌나 걱정했는데, 무사히 통과됐어요!
-
미해결대세는 쿠버네티스 (초급~중급편)
자료실을 못 찾겠습니다 ㅜ ㅡ ㅜ
[👍좋은 질문을 했을 때 좋은 답변이 돌아 옵니다]1. 실습 중 본인의 환경이 가이드와 다른 부분이 있었다면 말씀해주세요.2. 해당 문제의 발생 빈도(재설치 여부)와 문제 해결을 위해 시도해본 케이스를 말씀해 주시면 원인 파악에 큰 도움이 됩니다.3. 에러 메시지만 봐서는 저도 모르는 경우가 많아요. 그전에 했던 작업이 포함된 캡쳐 화면도 부탁 드려요.4. 영상 내용에 대한 질문 시 해당 시간을 같이 올려 주시면 답변을 드리는 시간이 더 빨라집니다.5. 긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com) 7강 cluster 설치과정에서대시보드 접근 경로가 변경되었다는 알림을 보았어요.자료실을 참고하라하셨는데해당 강의에 자료실이 어디있는지 찾아봐도 잘 안보입니다 ㅜㅜ
-
해결됨수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화
(추가질문)18강에서 파일 업로드 중 오류 해결이 안됩니다;
18강 이미지 업로드 부분에서 막혀서, VS CODE를 계속 수정하고 있는데 동일한 에러가 나옵니다ㅜㅜ.컨테이너 로그도 에러가 계속 발생중입니다.INFO:main:초기 파라미터 - 파일: False, URL: https://replicate.delivery/xezq/QTFKpOZWwMq2JBLkVALv11QDoVrujpyEJXmf5myK7oSFYk4KA/tmpfp6nwa7q.pngINFO:main:폼 데이터 키들: ['url']INFO:main:폼 필드 'url': 일반 값 - str: https://replicate.delivery/xezq/QTFKpOZWwMq2JBLkVALv11QDoVrujpyEJXmf5myK7oSFYk4KA/tmpfp6nwa7q.pngINFO:main:검사 중: 키='url', 타입=str, hasattr(filename)=FalseINFO:main:URL 다운로드 요청: https://replicate.delivery/xezq/QTFKpOZWwMq2JBLkVALv11QDoVrujpyEJXmf5myK7oSFYk4KA/tmpfp6nwa7q.pngINFO:main:최종 파라미터 상태 - 파일: False, URL: TrueINFO:main:URL: https://replicate.delivery/xezq/QTFKpOZWwMq2JBLkVALv11QDoVrujpyEJXmf5myK7oSFYk4KA/tmpfp6nwa7q.pngINFO:main:URL 다운로드 시작: https://replicate.delivery/xezq/QTFKpOZWwMq2JBLkVALv11QDoVrujpyEJXmf5myK7oSFYk4KA/tmpfp6nwa7q.pngINFO:main:파일 저장 경로: files/126dad99-c4d1-44ed-a0b4-a18ed082959f.pngINFO:main:HTTP 요청 시작: https://replicate.delivery/xezq/QTFKpOZWwMq2JBLkVALv11QDoVrujpyEJXmf5myK7oSFYk4KA/tmpfp6nwa7q.pngINFO:httpx:HTTP Request: GET https://replicate.delivery/xezq/QTFKpOZWwMq2JBLkVALv11QDoVrujpyEJXmf5myK7oSFYk4KA/tmpfp6nwa7q.png "HTTP/1.1 200 OK"INFO:main:다운로드 완료 - 상태 코드: 200, 크기: 1225303 bytesERROR:main:URL 다운로드 오류: [Errno 2] No such file or directory: 'files/126dad99-c4d1-44ed-a0b4-a18ed082959f.png'INFO: 172.21.0.1:41776 - "POST /upload HTTP/1.1" 500 Internal Server Error 어제부터 고생중입니다.. 어찌하면 될까요?ㅜㅜ 비전공자로 열심히 따라하면서 18강 진행중입니다. flux에서 output이 그림과 같이 출력되서, n8n에서 파일 업로드 실행시 Arrays are not supported. 이렇게 메시지가 나와서 처리가 안되는거 같습니다. 어떻게 해결해야 할까요?ㅜFlux에서 HTTP가 강의내용과 조금 다른건지. 이렇습니다.curl -s -X POST \ -H "Authorization: Bearer $REPLICATE_API_TOKEN" \ -H "Content-Type: application/json" \ -H "Prefer: wait" \ -d $'{ "input": { "prompt": "black forest gateau cake spelling out the words \\"FLUX SCHNELL\\", tasty, food photography, dynamic shot", "go_fast": true, "megapixels": "1", "num_outputs": 1, "aspect_ratio": "16:9", "output_format": "png", "output_quality": 80, "num_inference_steps": 4 } }' \
-
해결됨수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화
n8n 무료 기능 언락 설정
n8n에서 Unlock를 클릭해서 Send me a free license key를 클릭했는데 Your license key is being generated! 가 떴어요. 그런데 지정한 계정에 메일이 안옵니다. 어떻게 해야 하나요?
-
미해결[DevOps] 빠르고 안전한 어플리케이션 배포 파이프라인(CI/CD) 만들기
cosign tlog 관련 409에러
1. 무엇을 하고 싶으신가요?cosign sign을 통한 이미지 스캔을 하고 싶은데 단순히 이미지 재빌드하고 푸시하면 해결될 것이라고 생각하는데 그러지 않고 해결할 수 있는 방법을 찾고 싶습니다. 2. 언제, 어떤 오류가 발생하시나요? cosign에서 맨처음에 태그 기반으로 사이닝을 진행(최초 --tlog-upload=false 옵션 없이 이때 따로 진행할거냐는 경고 없이 바로 사이닝 진행 , 이후 --tlog-upload=false 옵션과 함께 진행하였지만 이미 사인되어있다는 메시지 그리고 ECR을 확인해보니 레포지토리에 서명 결과가 푸시된 것을 확인) , 이후 서명 결과를 ECR에서 삭제하고 다이제스트 기반으로 sign 명령을 내려도 계속 409 에러가 발생합니다. 3. 어떤 시도를 해보셨나요? 4. 작성한 코드를 공유해주세요.cosign sign --tlog-upload=false \ --key awskms:///REDACTED-KMS-KEY-ID \ <AWS_ACCOUNT_ID>.dkr.ecr.<REGION>.amazonaws.com/<REPO>@$( docker buildx imagetools inspect \ <AWS_ACCOUNT_ID>.dkr.ecr.<REGION>.amazonaws.com/<REPO>:latest \ --format "{{json .Manifest}}" | jq -r ".digest" ) Error: signing [<AWS_ACCOUNT_ID>.dkr.ecr.<REGION>.amazonaws.com/<REPO>@sha256:<DIGEST>]: signing digest: signing bundle: [POST /api/v1/log/entries][409] createLogEntryConflict {"code":409,"message":"an equivalent entry already exists in the transparency log with UUID <REDACTED>"}
-
미해결실무에 바로 적용하는 AWS 배포
2.3 Elastic Load Balancer ↔️ EC2
안녕하세요 강사님! 강의 잘 듣고 있습니다.ELB를 사용하면 웹 트래픽은 모두 ELB에서 받아서 Private Subnet의 EC2로 전달하는 구조가 보안적으로 더 안전하다고 알고 있습니다.그래서 강의 내용을 따라가면서, EC2를 Public Subnet에 두는 이유가 무엇인지 궁금해졌습니다.제가 이해한 바로는 아래 두 가지 때문이라고 판단했는데, 맞는지 확인 부탁드립니다.Private Subnet은 인터넷 직접 접속이 안 되어 apt update, 패키지 설치 등을 하려면 NAT Gateway가 필요한데,NAT Gateway는 비용이 발생해 초보자 실습에서는 과도한 비용이 된다.Public Subnet의 EC2는 인터넷에 직접 접속할 수 있어 패키지 설치나 초기 설정(nginx 설치, 코드 배포 등)이 훨씬 단순해진다.즉, 보안적으로는 Private Subnet 배치가 더 적절하지만,학습 난이도와 비용 문제 때문에 Public Subnet을 사용하는 것이라고 이해했습니다.제가 이해한 내용이 맞을까요?그리고 실무에서는 보통 말씀드린 것처럼 ELB는 Public Subnet, EC2는 Private Subnet 구조로 구성하는 것이 일반적인지도 궁금합니다.
-
해결됨수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화
Tools 로 추가한 Search Tools가 동작하지 않습니다.
안녕하세요. n8n 워크플로우를 작성 후 workflow 를 실행하면 Tools로 추가한 Search Tools 외에는 전부가 제대로 동작합니다.Search Tools를 개별로 실행하면 정상 동작하는데, workflow 에서는 실행이 스킵되고 있습니다. 원인이 뭘까요?
-
해결됨수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화
18강 blog-image-maker 관련 이미지 생성 중단문제
18강에서 loop over Items를 돌리면 해당 프롬프트가 5개가 나왔다고 한다면 3개까지만 이미지를 생성하고 이후에는Problem in node ‘Call 'Blog-Image-Maker'‘The service is receiving too many requests from you 와같은 에러 문구가 뜹니다. replicate에 크레딧이 충분히 있는데도 이러네요 replicate서버 문제일까요? 아니면 빌링 설정 문제일까요?
-
미해결[DevOps] 빠르고 안전한 어플리케이션 배포 파이프라인(CI/CD) 만들기
gitleaks 시크릿 스캔의 기준에 대한 질문입니다.
1. 무엇을 하고 싶으신가요? gitleaks가 secret을 판별하는 기준에 대해서, 또 지금 현 상황에 대한 이유가 궁금합니다. 2. 언제, 어떤 오류가 발생하시나요?from flask import Flask app = Flask(__name__) @app.route("/") def hello_world(): return "AROAWU22AXDEPO3JX44FD" @app.route("/rextest") def rextest(): return "REXTEST_PATH" if __name__ == "__main__": app.run( host="0.0.0.0", port=8080, debug=True, ) app.py 코드를 위처럼 작성해서 MR을 날릴 경우, 파이프라인에서 gitleaks에 시크릿 값(AWS 예제)가 스캔되지 않습니다. 때문에 build job까지 문제 없이 실행이 됩니다. 3. 어떤 시도를 해보셨나요?로컬 환경에서 강사님 코드를 pull 하고 tools 디렉토리의 gitleaks 디렉토리에서 gitleaks detect -v --no-git 명령을 수행해도 디스코드 예제와 깃랩 예제 2 종류만 스캔될 뿐 AWS 예제는 스캔되지 않습니다. 그래서 app.py 파일에 디스코드 예제를 넣어서 파이프라인을 실행할 경우, 정상적으로 gitleaks에서 시크릿이 스캔되어 job이 실패합니다. 이러한 경우, 코드 문제가 아니라 gitleaks에 대한 문제라고 생각이 드는데, 강의 영상에서는 AWS 예제가 스캔되어 job이 실패되고 저는 정상적으로 실행되는 이유가 궁금합니다. 4. 작성한 코드를 공유해주세요.stages: - gitleaks - build - deploy default: image: name: bentolor/docker-dind-awscli id_tokens: GITLAB_OIDC_TOKEN: aud: https://gitlab.com variables: AWS_DEFAULT_REGION: ap-northeast-2 IMAGE: ${CI_PROJECT_NAME}:latest REMOTE_LATEST_IMAGE: ${AWS_ECR_REPO_URL}:latest REMOTE_REGULAR_IMAGE: ${AWS_ECR_REPO_URL}:${CI_COMMIT_SHORT_SHA} .get_aws_role: &get_aws_role - > export $(printf "AWS_ACCESS_KEY_ID=%s AWS_SECRET_ACCESS_KEY=%s AWS_SESSION_TOKEN=%s" $(aws sts assume-role-with-web-identity --role-arn ${AWS_ROLE_ARN} --role-session-name "GitLabRunner-${CI_PROJECT_ID}-${CI_PIPELINE_ID}" --web-identity-token ${GITLAB_OIDC_TOKEN} --duration-seconds 3600 --query 'Credentials.[AccessKeyId,SecretAccessKey,SessionToken]' --output text)) .get_ecr_token: &get_ecr_token - *get_aws_role - aws ecr get-login-password --region ap-northeast-1 | docker login --username AWS --password-stdin ${AWS_ECR_REPO_URL} gitleaks: stage: gitleaks image: name: zricethezav/gitleaks:latest entrypoint: [""] script: - gitleaks detect -v --no-git --redact --report-format json rules: - if: $CI_PIPELINE_SOURCE == "merge_request_event" changes: paths: - app.py - Dockerfile - requirements.txt build-container-image: stage: build services: - name: docker:dind before_script: - *get_ecr_token script: - docker build -t ${IMAGE} . - docker tag ${IMAGE} ${REMOTE_LATEST_IMAGE} - docker push ${REMOTE_LATEST_IMAGE} - docker tag ${IMAGE} ${REMOTE_REGULAR_IMAGE} - docker push ${REMOTE_REGULAR_IMAGE} rules: - if: $CI_PIPELINE_SOURCE == "merge_request_event" changes: paths: - app.py - Dockerfile - requirements.txt deploy: stage: deploy image: registry.gitlab.com/gitlab-org/cloud-deploy/aws-base:latest before_script: *get_aws_role variables: AWS_DEFAULT_REGION: ap-northeast-1 script: - | export SERVICE_NAME="${CI_PROJECT_NAME}-service" export AR_SERVICE_NAME=$(aws apprunner list-services --query "ServiceSummaryList[?ServiceName=='${SERVICE_NAME}'].ServiceName | [0]" --output text) # AppRunner에 해당 레포의 매핑되는 서비스가 없는 경우 if [ ${AR_SERVICE_NAME} != ${SERVICE_NAME} ]; then export AR_SERVICE_ARN=$(aws apprunner create-service --service-name "${SERVICE_NAME}" --source-configuration "{\"AuthenticationConfiguration\": {\"AccessRoleArn\": \"${AWS_APP_RUNNER_SERVICE_ROLE_ARN}\"}, \"ImageRepository\": {\"ImageIdentifier\": \"${REMOTE_LATEST_IMAGE}\", \"ImageRepositoryType\": \"ECR\"}}" --instance-configuration 'Cpu="0.25 vCPU",Memory="0.5 GB"' --output text --query "Service.ServiceArn") echo "[+] Creating ${AR_SERVICE_ARN}" # AppRunner 서비스가 존재하는 경우 else export AR_SERVICE_ARN=$(aws apprunner list-services --query "ServiceSummaryList[?ServiceName=='${SERVICE_NAME}'].ServiceArn | [0]" --output text) aws apprunner start-deployment --service-arn ${AR_SERVICE_ARN} echo "[+] Deploying ${AR_SERVICE_ARN}" fi export AR_SERVICE_STATUS=$(aws apprunner describe-service --service-arn ${AR_SERVICE_ARN} --output text --query "Service.Status") while [ ${AR_SERVICE_STATUS} != "RUNNING" ]; do echo "[*] Waiting..." sleep 10 export AR_SERVICE_STATUS=$(aws apprunner describe-service --service-arn ${AR_SERVICE_ARN} --output text --query "Service.Status") if [ ${AR_SERVICE_STATUS} = "CREATE_FAILED" ]; then echo "[-] ${AR_SERVICE_ARN} ${AR_SERVICE_STATUS}" exit 1 fi done echo "[+] ${AR_SERVICE_ARN} deployed!" rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH changes: paths: - app.py - Dockerfile - requirements.txt
-
미해결메이드 인 RAG(로컬 LLM QA시스템) With Docker + ollama + R2R
파일 업로드 에러
강의 내용대로 설정하여 http://localhost:7273/documents 페이지에서 문서를 업로드하였는데, 아래와 같은 메시지가 표시되면서 업로드가 실패하였습니다.Upload FailedStatus 500: An error "500: Error during ingestion:OpenAl credentials not configured but openai/ model prefix used' occurred during create_document내용 확인 부탁드립니다.감사합니다.
-
해결됨개발자를 위한 쉬운 도커
쿠버네티스 강의 언제 나오나요..
11월 초에 나온다고 하셔서 기다리고 있습니다.아직 완강하지 않았더라도 연재식으로라도 강의 올려주셨으면 좋겠어요
-
해결됨비전공자도 이해할 수 있는 Docker 입문/실전
docker image ls 실행 시 나오는 내용이 다릅니다
윈도우의 Powershell 관리자 모드에서 실행했습니다.강의를 보기 전에 노션 학습 자료 먼저 예습하고 있었는데, docker image ls를 제가 실행해 보니 전혀 다른 내용으로 출력됩니다. 이건 운영체제 차이인가요 아니면 최근에 바뀐 건가요?
-
해결됨수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화
33강 15분쯤 if분기점에서의 에러 문의 드립니다.
if로 분기해서 데이터가 존재하지 않았을때 생성해서 넘어가는것은 에러 없이 진행되는데 존재 할때는 저렇게 str에러가 발생합니다. 에어 테이블에서 받아올때 문제가 발생하는것같은데 어떻게 해야 할지를 모르겠습니다.
-
미해결대세는 쿠버네티스 (초급~중급편)
0/3 nodes are available
아래 내용으로 파일을 만들면 해당 에러가 나오고있습니다..apiVersion: v1 kind: Pod metadata: name: pod-1 labels: app: pod spec: nodeSelector: kubernetes.io/hostname: k8s-node1 containers: - name: container image: kubetm/app ports: - containerPort: 8080올려주신 링크에들어가서 똑같이 만들고 노드랑도 다 지우고 재설치 했는데 계속 같은 증상입니다..
-
미해결대세는 쿠버네티스 (초급~중급편)
Back-off restarting fail~~
사진 보내 드린것처럼 파드를 만들면 해당 에러가 게속나오는데 이유가 뭘까요...
-
해결됨도커 마스터즈! CI/CD, DevSecOps로 자동화 보안 실무까지!
docker inspect 명령 결과에서 GraphDriver 항목을 찾을 수 없습니다.
안녕하세요. 강의 내용 알차게 잘 듣고 있습니다.다만, 강사님과 같이 docker inspect nginx:1.28.0-alpine3.21-slim 명령을 실행했을 경우 GraphDrvier 항목을 찾을 수 없고 바로 RootFS 항목만 확인되어 질문 드립니다.root@vagrant:~# docker images i Info → U In Use IMAGE ID DISK USAGE CONTENT SIZE EXTRA nginx:1.28.0-alpine3.21-slim ce2bd4775ed6 20.6MB 6.29MB root@vagrant:~# docker inspect nginx:1.28.0-alpine3.21-slim [ { "Id": "sha256:ce2bd4775ed6859d35f47d65401ee9f35f1dd00b32ed05f0ce38b68aa1830195", "RepoTags": [ "nginx:1.28.0-alpine3.21-slim" ], "RepoDigests": [ "nginx@sha256:ce2bd4775ed6859d35f47d65401ee9f35f1dd00b32ed05f0ce38b68aa1830195" ], "Comment": "buildkit.dockerfile.v0", "Created": "2025-08-13T16:03:17Z", "Config": { "ExposedPorts": { "80/tcp": {} }, "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "NGINX_VERSION=1.28.0", "PKG_RELEASE=1", "DYNPKG_RELEASE=1" ], "Entrypoint": [ "/docker-entrypoint.sh" ], "Cmd": [ "nginx", "-g", "daemon off;" ], "WorkingDir": "/", "Labels": { "maintainer": "NGINX Docker Maintainers <docker-maint@nginx.com>" }, "StopSignal": "SIGQUIT" }, "Architecture": "arm64", "Variant": "v8", "Os": "linux", "Size": 5802435, "RootFS": { "Type": "layers", "Layers": [ "sha256:982780712fdf5e22c7ed01172785fd7059a9ec11cb375c7133dc5b06c24250ff", "sha256:0d43a52040463d2c8abf5dbcfdf7494c64098f7eab47f4499e759d796c66d90c", "sha256:b81791db8dfbab361faf2ce24c74cf8da607971931576b0ba83e2dc8755af4e8", "sha256:098b681d959ad46239860f217c74a463292b5262fe004da34aa0414fe885a78e", "sha256:12d33c2f4dc442cbdfb0c830f359cfd92e0560c34678a1198ea68f281ada2d21", "sha256:76a1ff61253d86aafba3fd803cc79eb75dd573fb1ee00c6f716a8ea44dcfc414", "sha256:734a6dcc0d105722be038d38341a5f9c30a119082eaac2fa45fb8d51eb335451" ] }, "Metadata": { "LastTagTime": "2025-12-02T04:04:23.335181057Z" }, "Descriptor": { "mediaType": "application/vnd.oci.image.index.v1+json", "digest": "sha256:ce2bd4775ed6859d35f47d65401ee9f35f1dd00b32ed05f0ce38b68aa1830195", "size": 10293 } } ]
-
미해결Docker Essentials - 감 잡히는 컨테이너 & 도커
수업 강의록 자료
안녕하세요. 도커 강의 잘 듣고 있습니다! 다만, 강의에서 이루어지는 학습자료(ppt? pdf?)도 공유 받을 수 있는지 여쭙고자 문의드렸습니다
-
미해결대세는 쿠버네티스 (초급~중급편)
쿠버네티스 대시보드 접속 문제
[👍좋은 질문을 했을 때 좋은 답변이 돌아 옵니다]1. 실습 중 본인의 환경이 가이드와 다른 부분이 있었다면 말씀해주세요.2. 해당 문제의 발생 빈도(재설치 여부)와 문제 해결을 위해 시도해본 케이스를 말씀해 주시면 원인 파악에 큰 도움이 됩니다.3. 에러 메시지만 봐서는 저도 모르는 경우가 많아요. 그전에 했던 작업이 포함된 캡쳐 화면도 부탁 드려요.4. 영상 내용에 대한 질문 시 해당 시간을 같이 올려 주시면 답변을 드리는 시간이 더 빨라집니다.5. 긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com) 안녕하세요 강사님 !덕분에 좋은 강의 잘 듣고 있습니다.저는 현재 맥북 m3를 사용하고 있습니다.https://cafe.naver.com/kubeops/837 를 참고하여 쿠버네티스 클러스터(v1.34) 설치를 진행하였습니다.제 생각에 설치는 잘 진행된거 같은데 대시보드에 접속하려고 할 때 에러가 발생을 해서 해결하려고 노력중인데 뭐가 문제인지 잘 모르겠어서 질문드립니다.아래는 Node 상태 확인한 화면입니다. 아래는 kubectl로 파드 확인한 화면입니다.아래는 대시보드 화면 접근을 위해 사파리 브라우저에 https://192.168.56.30:30000/#/login를 입력했을 때의 화면입니다. 지금 저는 쿠버네티스는 설치 잘된 상태고 노드나 대시보드를 제외한 파드에 대한 문제는 없는 걸로 생각이 드는데 올바른 생각인지 궁금합니다.구글링도 해보면서 계속 해결방법을 강구하고 있는데 해결이 되지 않아 도움을 받고자 질문드립니다!
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
섹션 3 (14강) 04:52 분경 yaml 파일 작성에 대한 질문드립니다.
yaml 파일에서80으로 containerPort 를 지정하든 8080으로 지정하든 실행은 80으로 된다고 하셨는데, 이유가 궁금합니다.실행 포트를 변경하는 건 conf 파일에서 설정할 일인가요?
-
해결됨수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화
MobaXterm에서 Network error
안녕하세요.강의 잘 듣고 있습니다.실습 과정에서 MobaXterm에서 “Network error: Connection timed out” 오류가 발생하고 있습니다. 서버 구매 및 도메인 연결까지 완료했는데, 혹시 제가 놓친 부분이 있을까요? GPT에게 물어보니 "SSH 기본 포트 22가 닫혀 있으면" 문제가 발생한다고 하는데 해결 방법을 모르겠습니다.확인 부탁드립니다. 감사합니다 ㅠㅠ! ▶ 오류 내용Network error: Connection timed out─────────────────Session stopped - Press <Return> to exit tab - Press R to restart session - Press S to save terminal output to file