WinSCP접속 puttygen이용 synology 개인키, 공개키 만들어 접속하기
♨ 카랜더 일정 :
컨텐츠 정보
- 12,448 조회
본문
참고) 관련자료 링크 참조
synology 개인키, 공개키 만들기
http://m.blog.naver.com/o57o/220603678533
시놀로지 SSH 비밀번호 없이 rsa key로 접속하기
How to connect as root using WINSCP
https://blog.jamesbayley.com/2014/01/28/how-to-connect-as-root-using-winscp/
---
synology 개인키, 공개키 만들기
0winSCP 사용하려고 했더니 무슨키를 넣어야 한다나?
서버가 거부를 한다나?? -_-;;
출처 :
https://www.synology.com/ko-kr/knowledgebase/tutorials/609#t2_5
https://opentutorials.org/module/432/3742
사전지식 개인키와 공개키?
개인키는 아무도 모르게 가지고 있는 키
공개키는 서버에 있는 키
이 두 키를 비교하여 접속을 허락함.
그래서 이 두개의 키를 만들고자 한다.
사전설정 ( synolony server 에서의 설정 )
주의!! 임시로 설정해놓고 다시 원래대로 해 놓는 것을 추천함.
제어판 > 터미널 및 SNMP : [체크] Telnet 서비스 활성화 , [체크] SSH 서비스 활성화
제어판 > 보안 > 방화벽 : 모두허용
WinSCP 의 PuTTYgen 을 이용하여 개인키, 공개키 만들기
< 그림 1. PuTTYgen 의 모습. winSCP에 들어있다. >
1.공개키 만들기
[winSCP 에서]
< 그림1 참고> PuTTYgen을 실행하여 화면 중간 우측에 있는 생성[Generate]버튼을 누르고
상단의 Public key for pasting into OpenSSH authorized_keys file 아래
네모박스부분(처음엔 비어있음)에 마우스로 왔다갔다 하면 위처럼 문자가 생성됨.
복사해서 메모장에 붙여넣고 id_rsa.pub(공개키) 로 저장한다.
2.개인키 만들기 ( !! 개인키 유출금지 !! )
[ Save private key ] 를 눌러 .ppk 파일로 저장한다.
이 파일은 나중에 여러가지 프로그램들을 사용할 경우 쓰인다.
이번에 winSCP 로 로그인하기 위해서도 필요했다.
[참고] passsphrase ??
출처 : https://opentutorials.org/module/432/3742
passphrase는 일종의 비밀번호로 비공개키를 입력한 값으로 암호화한다. 권장 값은 10~30 문자이고 생략 가능하다. 생략하면 이 부분이 보안 홀이 될 수 있기 때문에 주의한다. 자동 로그인을 원한다면 생략해야 한다.
3. 공개키 서버에 올리기
1) 공개키 업로드
[synology server 에서]
File Station 을 실행하고 homes/사용자명/.ssh/ 로 이동하여
위에서 생성한 공개키(id_rsa.pub)를 업로드 한다.
(.ssh 폴더는 만들어야 한다. )
2) 공개키 변환
[PuTTY 에서]
푸티 로그인 (로그인 시 아이디는 root, 비번은 원래 쓰던 비번)을 하고나서 다음 명령어를 입력한다.
cd /var/services/homes/사용자명/.ssh/
cd id_rsa.pub >> authorized_keys
2-1) 공개키 권한 주기
[PuTTY 에서]
cd /var/services/homes/사용자명/
chmod 700 .
chmod 700 .ssh/
chmod 700 .ssh/authorized_keys
chown -R 사용자명 .ssh/
[synology server 에서]
File Station 을 실행하고 homes/사용자명/.ssh/ 에 가보면
authorized_keys 가 생성되어 있고 권한도 주어져있을 것이다.
끝.
PuTTY를 사용하여 Windows에서 Linux 인스턴스에 연결
인스턴스를 시작한 후 인스턴스에 연결하고 바로 앞에 있는 컴퓨터를 사용하는 것처럼 인스턴스를 사용할 수 있습니다.
참고
인스턴스를 시작한 후, 연결할 수 있도록 인스턴스가 준비될 때까지 몇 분 정도 걸릴 수 있습니다. 인스턴스가 상태 확인을 통과했는지 확인하십시오. [Instances] 페이지의 [Status Checks] 열에서 이 정보를 볼 수 있습니다.
다음 지침에서는 Windows용 무료 SSH 클라이언트인 PuTTY를 사용하여 인스턴스에 연결하는 방법을 설명합니다. 인스턴스에 연결을 시도하는 동안 오류가 발생한 경우 인스턴스 연결 문제 해결을 참조하십시오.
사전 조건
PuTTY을(를) 사용하여 Linux 인스턴스에 연결하려면 먼저 다음 사전 요구 사항을 완료하십시오.
PuTTY 설치
PuTTY 다운로드 페이지에서 PuTTY를 다운로드하여 설치합니다. 이미 이전 버전의 PuTTY가 설치되어 있다면 최신 버전을 다운로드하는 것이 좋습니다. 전체 제품군을 설치해야 합니다.
인스턴스의 ID 보기
Amazon EC2 콘솔을 사용하여 인스턴스의 ID를 볼 수 있습니다([Instance ID] 열에서). describe-instances(AWS CLI) 또는 Get-EC2Instance(Windows PowerShell용 AWS 도구) 명령을 사용할 수도 있습니다.
인스턴스의 퍼블릭 DNS 이름 보기
&EC2; 콘솔을 사용해서 사용자의 인스턴스에 대한 퍼블릭 DNS를 얻을 수 있습니다([Public DNS (IPv4)] 열 확인. 이 열이 숨겨진 경우는 [Show/Hide] 아이콘을 클릭하고 [Public DNS (IPv4)]를 선택). describe-instances(AWS CLI) 또는 Get-EC2Instance(Windows PowerShell용 AWS 도구) 명령을 사용할 수도 있습니다.
(IPv6 전용) 인스턴스의 IPv6 주소를 얻습니다.
인스턴스에 IPv6 주소를 할당했다면 퍼블릭 IPv4 주소나 퍼블릭 IPv4 DNS 호스트 이름 대신 IPv6 주소를 사용하여 인스턴스에 연결할 수도 있습니다. 로컬 컴퓨터에 IPv6 주소가 있고 IPv6를 사용하도록 컴퓨터를 구성해야 합니다. Amazon EC2 콘솔을 사용하여 인스턴스의 IPv6 주소를 얻을 수 있습니다([IPv6 IPs] 필드 확인). describe-instances(AWS CLI) 또는 Get-EC2Instance(Windows PowerShell용 AWS 도구) 명령을 사용할 수도 있습니다. IPv6에 대한 자세한 내용은 IPv6 주소 단원을 참조하십시오.
프라이빗 키 찾기
인스턴스를 시작할 때 지정한 키 페어에 대한
.pem
파일의 정규화된 경로가 필요합니다.IP 주소에서 인스턴스로의 인바운드 SSH 트래픽 활성화
인스턴스와 연관된 보안 그룹이 IP 주소로부터 들어오는 SSH 트래픽을 허용하는지 확인하십시오. 자세한 내용은 인스턴스에 네트워크 액세스 권한 부여를 참조하십시오.
중요
기본 보안 그룹은 기본적으로 들어오는 SSH 트래픽을 허용하지 않습니다.
PuTTYgen을 사용하여 프라이빗 키 변환
PuTTY에서는 Amazon EC2에서 생성된 프라이빗 키 형식(.pem)을 기본적으로 지원하지 않습니다. PuTTY에는 PuTTYgen이라는 도구가 있는데, 이 도구는 키를 필요한 PuTTY 형식(.ppk)으로 변환할 수 있습니다. PuTTY를 사용하여 인스턴스에 연결하기 전에 프라이빗 키를 이 형식(.ppk)으로 변환해야 합니다.
개인 키를 변환하려면
PuTTYgen을 시작합니다(예: [Start] 메뉴에서 [All Programs > PuTTY > PuTTYgen] 선택).
Type of key to generate에서 RSA를 선택합니다.
참고
이전 버전의 PuTTYgen을 사용하는 경우 [SSH-2 RSA]를 선택합니다.
Load를 선택합니다. 기본적으로 PuTTYgen에는 확장명이
.ppk
인 파일만 표시됩니다..pem
파일을 찾으려면 모든 유형의 파일을 표시하는 옵션을 선택합니다.인스턴스를 시직할 때 지정한 키 페어에 대한
.pem
파일을 선택한 다음 [Open]을 선택합니다. [OK]를 선택하여 확인 대화 상자를 닫습니다.[Save private key]를 선택하여 PuTTY에서 사용할 수 있는 형식으로 키를 저장합니다. PuTTYgen에서 암호 없이 키 저장에 대한 경고가 표시됩니다. [Yes]를 선택합니다.
참고
프라이빗 키의 암호는 추가 보호 계층이므로 프라이빗 키가 공개되었더라도 이 암호가 없으면 사용할 수 없습니다. 암호 사용 시 단점은 인스턴스에 로그온하거나 인스턴스로 파일을 복사할 때 사용자의 개입이 필요하므로 자동화하기 어렵다는 것입니다.
키 페어에 사용된 키에 대해 동일한 이름을 지정합니다(예:
my-key-pair
). PuTTY에서 자동으로.ppk
파일 확장명을 추가합니다.
이제 개인 키가 PuTTY에 사용하기에 올바른 형식으로 되어 있으므로 PuTTY의 SSH 클라이언트를 사용하여 인스턴스에 연결할 수 있습니다.
PuTTY 세션 시작
PuTTY을(를) 사용하여 Linux 인스턴스에 연결하려면 다음 프로시저를 사용하십시오. 프라이빗 키에 대해 생성한 .ppk
파일이 필요합니다. 인스턴스에 연결을 시도하는 동안 오류가 발생한 경우 인스턴스 연결 문제 해결을 참조하십시오.
PuTTY 세션을 시작하려면
(선택 사항) 로컬 시스템에서 다음 명령 중 하나를 사용하여 인스턴스에서 RSA 키 지문을 확인할 수 있습니다. 이 기능은 타사의 퍼블릭 AMI에서 인스턴스를 시작한 경우에 유용합니다.
SSH HOST KEY FINGERPRINTS
섹션을 찾아서 RSA 지문(예: 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f)을 적고 이것을 인스턴스의 지문과 비교합니다.get-console-output(AWS CLI)
Copyaws ec2 get-console-output --instance-id
instance_id
다음은 살펴봐야 할 예제를 나타낸 코드 조각입니다.
Copy\r\nec2: -----BEGIN SSH HOST KEY FINGERPRINTS-----\r\n...\r\n\r\nec2: 2048 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f root@ip-192-0-2-0 (RSA)\r\n...\r\n\r\nec2: -----END SSH HOST KEY FINGERPRINTS-----
참고
SSH HOST KEY FINGERPRINTS
섹션은 인스턴스를 처음 부팅한 후에만 사용할 수 있습니다.PuTTY을 시작합니다. 즉, [시작] 메뉴에서 [모든 프로그램] > [PuTTY] > [PuTTY]를 선택합니다.
[Category] 창에서 [Session]를 선택하고 다음 필드를 작성합니다.
[Host Name] 상자에
user_name
@public_dns_name
을 입력합니다. AMI에 적합한 사용자 이름을 지정해야 합니다. 예:Amazon Linux AMI의 경우 사용자 이름은
ec2-user
입니다.RHEL AMI의 경우 사용자 이름은
ec2-user
또는root
입니다.Ubuntu AMI의 경우 사용자 이름은
ubuntu
또는root
입니다.Centos AMI의 경우 사용자 이름은
centos
입니다.Fedora AMI의 경우 사용자 이름은
ec2-user
입니다.SUSE의 경우 사용자 이름은
ec2-user
또는root
입니다.ec2-user
및root
를 사용할 수 없는 경우 AMI 공급자에게 문의하십시오.
(IPv6 전용) 인스턴스의 IPv6 주소를 이용해 연결하려면
user_name
@ipv6_address
를 입력합니다. AMI에 적합한 사용자 이름을 지정해야 합니다. 예:Amazon Linux AMI의 경우 사용자 이름은
ec2-user
입니다.RHEL AMI의 경우 사용자 이름은
ec2-user
또는root
입니다.Ubuntu AMI의 경우 사용자 이름은
ubuntu
또는root
입니다.Centos AMI의 경우 사용자 이름은
centos
입니다.Fedora AMI의 경우 사용자 이름은
ec2-user
입니다.SUSE의 경우 사용자 이름은
ec2-user
또는root
입니다.ec2-user
및root
를 사용할 수 없는 경우 AMI 공급자에게 문의하십시오.
[Connection type] 아래에서 [SSH]를 선택합니다.
[Port]가 22인지 확인합니다.
[Category] 창에서 [Connection], [SSH]를 차례로 확장하고 [Auth]를 선택합니다. 다음 작업을 완료합니다.
[Browse]를 선택합니다.
키 페어에 대해 생성한
.ppk
파일을 선택한 다음 [Open]을 선택합니다.(선택 사항) 이 세션을 나중에 다시 시작하려는 경우 세션 정보를 나중에 사용할 수 있게 저장할 수 있습니다. [Category] 트리에서 [Session]을 선택하고 [Saved Sessions]에 세션 이름을 입력한 다음 [Save]를 선택합니다.
[Open]을 클릭하여 PuTTY 세션을 선택합니다.
이 인스턴스에 처음 연결한 경우 PuTTY에서 연결하려는 호스트를 신뢰할 수 있는지 묻는 보안 알림 대화 상자가 표시됩니다.
(선택 사항) 보안 알림 대화 상자의 지문이 1단계에서 얻은 이전 지문과 일치하는지 확인합니다. 이들 지문이 일치하지 않으면 누군가가 "메시지 가로채기(man-in-the-middle)" 공격을 시도하고 있는 것일 수 있습니다. 이들 지문이 일치하면 다음 단계를 계속 진행합니다.
[Yes]를 선택합니다. 창이 열리고 인스턴스에 연결됩니다.
참고
개인 키를 PuTTY 형식으로 변환할 때 암호문을 지정한 경우 인스턴스에 로그인할 때 암호문을 제공해야 합니다.
인스턴스에 연결을 시도하는 동안 오류가 발생한 경우 인스턴스 연결 문제 해결을 참조하십시오.
PuTTY 보안 사본 클라이언트를 사용하여 Linux 인스턴스로 파일 전송
PuTTY SCP(Secure Copy) 클라이언트는 Windows 컴퓨터와 Linux 인스턴스 간에 파일을 전송하는 데 사용할 수 있는 명령줄 도구입니다. GUI(그래픽 사용자 인터페이스)를 선호하는 경우 WinSCP라는 오픈 소스 GUI 도구를 사용할 수 있습니다. 자세한 내용은 WinSCP를 사용하여 Linux 인스턴스로 파일 전송 섹션을 참조하십시오.
PSCP를 사용하려면 PuTTYgen을 사용하여 프라이빗 키 변환에서 생성한 프라이빗 키가 필요합니다. 또한 Linux 인스턴스의 퍼블릭 DNS 주소도 필요합니다.
다음 예에서는 Sample_file.txt
파일을 Windows 컴퓨터의 C:\ 드라이브에서 Linux 인스턴스의 /usr/local
디렉터리로 전송합니다.
C:\>
pscp -i C:\Keys\my-key-pair.ppk C:\Sample_file.txt user_name@public_dns:/usr/local/Sample_file.txt
(IPv6 전용) 다음 예에서는 인스턴스의 IPv6 주소를 이용해 Sample_file.txt
파일을 전송합니다. IPv6 주소는 대괄호([])로 묶어야 합니다.
C:\>
pscp -i C:\Keys\my-key-pair.ppk C:\Sample_file.txt user_name@[ipv6-address]:/usr/local/Sample_file.txt
WinSCP를 사용하여 Linux 인스턴스로 파일 전송
WinSCP는 SFTP, SCP, FTP 및 FTPS 프로토콜을 사용하여 원격 컴퓨터로 파일을 업로드하고 전송할 수 있는 Windows용 GUI 기반 파일 관리자입니다. WinSCP를 사용하면 Windows 시스템에서 Linux 인스턴스로 파일을 끌어 놓거나 두 시스템 간에 전체 디렉터리 구조를 동기화할 수 있습니다.
WinSCP를 사용하려면 PuTTYgen을 사용하여 프라이빗 키 변환에서 생성한 프라이빗 키가 필요합니다. 또한 Linux 인스턴스의 퍼블릭 DNS 주소도 필요합니다.
http://winscp.net/eng/download.php에서 WinSCP를 다운로드하여 설치합니다. 대부분 사용자의 경우 기본 설치 옵션을 그대로 사용해도 좋습니다.
WinSCP를 시작합니다.
[WinSCP Login] 화면에서 [Host name]에 인스턴스의 퍼블릭 DNS 호스트 이름 또는 퍼블릭 IPv4 주소를 입력합니다.
참고
(IPv6 전용) 인스턴스의 IPv6 주소를 이용해 로그인하려면 인스턴스의 IPv6 주소를 입력합니다.
[User name]에는 AMI의 기본 사용자 이름을 입력합니다. Amazon Linux AMI의 경우 사용자 이름은
ec2-user
입니다. Red Hat AMI의 경우 사용자 이름은root
이며, Ubuntu AMI의 경우 사용자 이름은ubuntu
입니다.인스턴스의 프라이빗 키를 지정합니다. [Private key]에서는 프라이빗 키의 경로를 입력하거나 "…" 버튼을 선택하여 파일을 찾아봅니다. 최신 WinSCP 버전의 경우 [Advanced]를 선택하여 어드밴스 사이트 설정을 열고 [SSH]에서 [Authentication]을 선택하여 [Private key file] 설정을 찾습니다.
다음은 WinSCP 버전 5.9.4의 스크린샷입니다.
참고
WinSCP에는 PuTTY 프라이빗 키 파일(
.ppk
)이 필요합니다. PuTTYgen을 사용하여.pem
보안 키 파일을.ppk
형식으로 변환할 수 있습니다. 자세한 내용은 PuTTYgen을 사용하여 프라이빗 키 변환 섹션을 참조하십시오.(선택 사항) 왼쪽 패널에서 [Directories]를 선택하고 파일을 추가할 디렉터리의 경로를 [Remote directory]에 입력합니다. 최신 WinSCP 버전의 경우 [Advanced]를 선택하여 어드밴스 사이트 설정을 연 다음 [Environment]에서 [Directories]를 선택하여 [Remote directory] 설정을 찾습니다.
[Login]을 선택하여 연결하고 [Yes]를 선택하여 호스트 지문을 호스트 캐시에 추가합니다.
연결이 설정된 후 연결 창에서 Linux 인스턴스는 오른쪽에 있고 로컬 시스템은 왼쪽에 있습니다. 로컬 시스템에서 원격 파일 시스템으로 파일을 직접 끌어 놓을 수 있습니다. WinSCP에 대한 자세한 내용은 http://winscp.net/eng/docs/start의 프로젝트 설명서를 참조하십시오.
참고
"
Cannot execute SCP to start transfer
" 오류가 표시되는 경우 먼저 Linux 인스턴스에 scp를 설치해야 합니다. 일부 운영 체제의 경우, 이 명령어는openssh-clients
패키지에 있습니다. Amazon ECS 최적화 AMI 같은 Amazon Linux 변형의 경우에는 다음 명령을 사용하여 scp를 설치하십시오.Copy[ec2-user ~]$
sudo yum install -y openssh-clients
뷰PDF 1,2
office view
관련자료
-
링크
댓글목록
등록된 댓글이 없습니다.