1. Windows Client - SSH

◾ 공개키는 서버

개인키로 공개키가 풀리면 허용해주는 시스템

개인키가 있으면 공개키를 계산 가능

 

◾ SSH – Windows Client(putty)

: 공개키를 미리 저장하고 공개키를 이용한 인증방식이다.


◾ 과정
 1) 클라이언트에서 키생성.
 2) 공개키를 서버로 이전
 3) 패스워드 없는 접속 테스트

 

◾ puttygen – 키 생성 관리 프로그램
• 시작 – PuTTY(64bit)


키 생성

key 아래 빈 부분을 마우스로 문지르면 빠르게 키 생성 가능

키 확인

개인키 저장

다음 경로에 저장한다.

 

리눅스에서 복사한 공개 키는 서버의 $HOME/.ssh/authorized_keys에 저장한다.

[root@CentOS7 ~]# su - st
마지막 로그인: 금 12월 10 13:45:04 KST 2021 192.168.10.130에서 시작 일시 pts/0
[st@CentOS7 ~]$ pwd
/home/st
[st@CentOS7 ~]$ ls
[st@CentOS7 ~]$ mkdir .ssh
[st@CentOS7 ~]$ ls
[st@CentOS7 ~]$ ls -a
.   .Xauthority    .bash_logout   .bashrc  .config   .ssh
..  .bash_history  .bash_profile  .cache   .mozilla  .viminfo
[st@CentOS7 ~]$ vi .ssh/authorized_keys

OR

[root@CentOS7 ~]# mkdir /home/st/.ssh
[root@CentOS7 ~]# vi /home/st/.ssh/authorized_keys

 

Windows Putty어서 개인키를 지정하고 Windows Putty 접속 계정 지정한다.

PuTTY에서 아래와 같이 설정해준다.

 

서버에 접속해서 패스워드 없이 접속 되는지 확인한다.

자동으로 접속된다.

Using username "st".
Authenticating with public key "rsa-key-20220203"
Last login: Thu Feb  3 15:03:19 2022
[st@CentOS7 ~]$

2. Linux Client - SSH

공개키를 미리 저장하고 공개키를 이용한 인증방식이다.


◾ 과정
 1) 클라이언트에서 키생성.
 2) 공개키를 서버로 이전
 3) 패스워드 없는 접속 테스트

 

◾ 클라이언트에서 키 생성
# ssh-keygen -t <type> -b <bits>
  -t : rsa, dsa
  -b : rsa(768~2048), dsa(1024)


키 생성

[root@CentOS7 ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:veO458NL5gkPHsRAHumf+DV5X9Ffhj/IcuK4MEvlGpI root@CentOS7
The key's randomart image is:
+---[RSA 2048]----+
|      o.         |
|     o..         |
|     .o        ..|
|      .o .    ..+|
|       oSo... .o+|
|      o.= ++.+ .+|
|     E *++Bo+. ..|
|      o.B%++  .  |
|       o+=Oo     |
+----[SHA256]-----+

 

공개키 : /root/.ssh/id_rsa.pub

개인키 : /root/.ssh/id_rsa

 

공개키를 접속할 서버로 복사한다.

[root@CentOS7 ~]# ssh-copy-id st04@192.168.10.11
/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.10.11 (192.168.10.11)' can't be established.
ECDSA key fingerprint is SHA256:vrnjESYRqUdWJx0S182N+RYSd9mPESDSuJhKCLIqtqY.
ECDSA key fingerprint is MD5:68:07:84:35:e6:90:4c:7f:14:15:17:92:ff:a9:e9:13.
Are you sure you want to continue connecting (yes/no)? y
Please type 'yes' or 'no': y
Please type 'yes' or 'no': yes
/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
st04@192.168.10.11's password:1234

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'st04@192.168.10.11'"
and check to make sure that only the key(s) you wanted were added.

 

ssh로  로그인이 가능하다.

[root@CentOS7 ~]# ssh st04@192.168.10.11
Last login: Thu Feb  3 15:44:09 2022 from 192.168.10.130

 

윈도우에서 접속하기위해 다음과 같이 설정한다.

개인키를 윈도우로 전송하기위해 ftp서버를 사용한다.

[root@CentOS7 ~]# yum install -y vsftpd

[root@CentOS7 ~]# systemctl start vsftpd

 

생성된 개인키를 ftp에서 접속할 계정의 홈디렉토리로 옮기고 권한을 변경한다.

[root@CentOS7 ~]# cd /root/.ssh
[root@CentOS7 .ssh]# ls
id_rsa  id_rsa.pub  known_hosts
[root@CentOS7 .ssh]# cp id_rsa /home/st04/id_rsa
[root@CentOS7 .ssh]# ls
id_rsa  id_rsa.pub  known_hosts
[root@CentOS7 .ssh]# cd /home/st04/id_rsa
-bash: cd: /home/st04/id_rsa: 디렉터리가 아닙니다
[root@CentOS7 .ssh]# cd /home/st04
[root@CentOS7 st04]# ls
id_rsa
[root@CentOS7 st04]# ll
합계 4
-rw------- 1 root root 1675  2월  3 15:56 id_rsa
[root@CentOS7 st04]# chmod 666 id_rsa
[root@CentOS7 st04]# ll
합계 4
-rw-rw-rw- 1 root root 1675  2월  3 15:56 id_rsa

 

윈도우 cmd에서 ftp 접속을 통해 get명령어로 id_rsa 파일을 다운받는다.

C:\Users\st04>ftp 192.168.11.131
192.168.11.131에 연결되었습니다.
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
사용자(192.168.11.131:(none)): st04
331 Please specify the password.
암호:
230 Login successful.
ftp> get id_rsa
200 PORT command successful. Consider using PASV.
550 Failed to open file.
ftp> get id_rsa
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for id_rsa (1675 bytes).
226 Transfer complete.
ftp: 0.00초 1675000.00KB/초
ftp>

 

Load로 id_rsa를 로드하고 따로 개인키를 저장한다.

저장한 개인키로 접속 설정한다.

 

자동 접속을 확인할 수 있다.

Using username "st04".
Authenticating with public key "imported-openssh-key"
Last login: Thu Feb  3 15:46:54 2022 from 192.168.10.130
[st04@dal ~]$

+ Recent posts