Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

오라클 (평생) 무료 클라우드 VM 생성 후 SSH 접속 시 키 오류 발생

IT 업계에 일하면서, 왜 저는 이 소식을 지금에야 알았을까요? ^^

오라클 클라우드에서 평생 무료로 VPS 사용하기
; https://www.gamjaa.com/blog/1404

오늘 우연히 회사 동료가 이야기해서 부랴부랴 ^^ 2개의 VM을 생성해봤는데요,

oracle_cloud_vm_1.png

위의 화면에서처럼, SSH 키는 인스턴스 생성 시 제공하는 걸로 받아두었습니다. 이후 Putty를 이용한 SSH로 접속하려는데,

Connecting to an Instance
; https://docs.cloud.oracle.com/en-us/iaas/Content/Compute/Tasks/accessinginstance.htm

이렇게 오류가 발생합니다.

PuTTY Fatal Error

Couldn't agree a key exchange algorithm (available: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256)

검색해 보니, ^^; 새롭게 putty 업데이트를 받으면 된다고 해서 조치 후 다시 시도를 해봤지만, 오류 메시지만 바뀌고 여전히 접속이 안 됩니다.

Unable to use key file "....key" (OpenSSH SSH-2 private key (old PEM format))

관련해서 또 검색해 보면, puttygen으로 key 파일을 ppk로 바꾸라고 하는데, 마찬가지로 puttygen에서는 변환할 수 없다는 오류가 발생합니다.

PuTTYgen Error

Couldn't load private key (ASN.1 decoding failure)

Couldn't load private key (unrecognised key type)

아쉽게도 이 문제에 대한 해결 방법은 찾지 못했습니다. 대신, VM 인스턴스 생성 시 "GENERATE SSH KEYS"가 아닌, 제가 만들어 두었던 SSH 키 파일을 선택해 올리는 "CHOOSE SSH KEY FILES"로는 정상적으로 SSH 연결을 했습니다.




정확한 원인은 알 수 없지만, Oracle Cloud 측에서 제공하는 SSH 키 파일을 보면 제가 올렸던 키 파일에 비해 길이가 작은 걸로 봐서 아마도 1024 비트의 키 길이를 갖는 것 같습니다. 하지만 최신 Linux 운영체제들이 기본적으로 2048 키 길이를 강제하므로,

SSL_CTX_use_certificate_file - error:140AB18F:SSL routines:SSL_CTX_use_certificate:ee key too small
; https://www.sysnet.pe.kr/2/0/12270

정작 해당 설정을 서버 측에서 바꾸지 않는 한 SSH 접속이 안 되는 것일 수도 있습니다. (하지만, 설정을 바꾸려면 결국 SSH 접속이 필요하므로 확인 불가!!!)




또 하나 문제가 있다면, 일단 VM 인스턴스가 생성된 이후에는 어떤 식으로든 SSH 키를 바꿀 방법이 없습니다. 그래서 무료 인스턴스 2개의 조건을 위해 "GENERATE SSH KEYS" 옵션으로 생성한 인스턴스를 "Terminate" 시켜야 합니다. 재미있는 것은, 그렇게 해도 화면에 "teminated" 상태로 여전히 VM 인스턴스가 나온다는 점입니다.

걱정하지 마시고 ^^ 좀 오래 기다려 보시면,

How long will it take for the terminated instance to get removed from the console?
; https://stackoverflow.com/questions/56526304/how-long-will-it-take-for-the-terminated-instance-to-get-removed-from-the-consol

없어지게 됩니다.




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 8/2/2020]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 



2021-01-31 07시51분
[dimohy] 덕분에 계정 신청해서 만들었습니다 ^^
[guest]
2021-01-31 09시55분
@dimohy 아직도 무료 VM 신청이 가능하군요. (^^ 역시 경쟁이 좋습니다.)
정성태

1  2  3  4  5  6  [7]  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
13468정성태12/1/20232421닷넷: 2176. C# - .NET Core/5+부터 달라진 RCW(Runtime Callable Wrapper) 대응 방식파일 다운로드1
13467정성태11/30/20232586오류 유형: 882. C# - Unhandled exception. System.Runtime.InteropServices.COMException (0x800080A5)파일 다운로드1
13466정성태11/29/20232739닷넷: 2175. C# - DllImport 메서드의 AOT 지원을 위한 LibraryImport 옵션
13465정성태11/28/20232506개발 환경 구성: 689. MSBuild - CopyToOutputDirectory가 "dotnet publish" 시에는 적용되지 않는 문제파일 다운로드1
13464정성태11/28/20232598닷넷: 2174. C# - .NET 7부터 UnmanagedCallersOnly 함수 export 기능을 AOT 빌드에 통합파일 다운로드1
13463정성태11/27/20232486오류 유형: 881. Visual Studio - NU1605: Warning As Error: Detected package downgrade
13462정성태11/27/20232477오류 유형: 880. Visual Studio - error CS0246: The type or namespace name '...' could not be found
13461정성태11/26/20232558닷넷: 2173. .NET Core 3/5+ 기반의 COM Server를 registry 등록 없이 사용하는 방법파일 다운로드1
13460정성태11/26/20232528닷넷: 2172. .NET 6+ 기반의 COM Server 내에 Type Library를 내장하는 방법파일 다운로드1
13459정성태11/26/20232529닷넷: 2171. .NET Core 3/5+ 기반의 COM Server를 기존의 regasm처럼 등록하는 방법파일 다운로드1
13458정성태11/26/20232543닷넷: 2170. .NET Core/5+ 기반의 COM Server를 tlb 파일을 생성하는 방법(tlbexp)
13457정성태11/25/20232464VS.NET IDE: 187. Visual Studio - 16.9 버전부터 추가된 "Display inline type hints" 옵션
13456정성태11/25/20232804닷넷: 2169. C# - OpenAI를 사용해 PDF 데이터를 대상으로 OpenAI 챗봇 작성 [1]파일 다운로드1
13455정성태11/25/20232688닷넷: 2168. C# - Azure.AI.OpenAI 패키지로 OpenAI 사용파일 다운로드1
13454정성태11/23/20232999닷넷: 2167. C# - Qdrant Vector DB를 이용한 Embedding 벡터 값 보관/조회 (Azure OpenAI) [1]파일 다운로드1
13453정성태11/23/20232411오류 유형: 879. docker desktop 설치 시 "Invalid JSON string. (Exception from HRESULT: 0x83750007)"
13452정성태11/22/20232509닷넷: 2166. C# - Azure OpenAI API를 이용해 사용자가 제공하는 정보를 대상으로 검색하는 방법파일 다운로드1
13451정성태11/21/20232637닷넷: 2165. C# - Azure OpenAI API를 이용해 ChatGPT처럼 동작하는 콘솔 응용 프로그램 제작파일 다운로드1
13450정성태11/21/20232449닷넷: 2164. C# - Octokit을 이용한 GitHub Issue 검색파일 다운로드1
13449정성태11/21/20232597개발 환경 구성: 688. Azure OpenAI 서비스 신청 방법
13448정성태11/20/20232950닷넷: 2163. .NET 8 - Dynamic PGO를 결합한 성능 향상파일 다운로드1
13447정성태11/16/20232842닷넷: 2162. ASP.NET Core 웹 사이트의 SSL 설정을 코드로 하는 방법
13446정성태11/16/20232770닷넷: 2161. .NET Conf 2023 - Day 1 Blazor 개요 정리
13445정성태11/15/20233089Linux: 62. 리눅스/WSL에서 CA 인증서를 저장하는 방법
13444정성태11/15/20232799닷넷: 2160. C# 12 - Experimental 특성 지원
13443정성태11/14/20232831개발 환경 구성: 687. OpenSSL로 생성한 사용자 인증서를 ASP.NET Core 웹 사이트에 적용하는 방법
1  2  3  4  5  6  [7]  8  9  10  11  12  13  14  15  ...