Linux 2 → Linux 1
Windows(CMD) → Linux
Windows(putty) → Linux
Windows(Xshell) → Linux
C:\Users\st06> ssh-keygen -b 2048 -t rsa //키 생성
C:\Users\st06> ssh root@192.168.0.161
[root@ns1 ~]# mkdir -m 700 .ssh/
[root@ns1 ~]# exit
C:\Users\st06> scp .ssh/id_rsa.pub root@192.168.0.161:~/.ssh/authorized_keys
C:\Users\st06> ssh root@192.168.0.161
//여기까지 하면 키 암호로 로그인해서 들어갈 수 있다.
※ C:\Users\st06> 는 CMD,
[root@ns1 ~]# 는 리눅스 ※

cmd창에서 키를 생성한다.

리눅스에 키를 복사할 디렉토리를 만들기 위해,
ssh를 사용해 리눅스1로 접속해준다.

리눅스1의 홈디렉토리에서 .ssh디렉토리에 700의 옵션을 주면서 만든다.
(700은 user(소유주)만 읽기(r), 쓰기(w), 실행(x)의 권한을 가지는 것이다.)
ls명령어로 디렉토리가 만들어졌는지 확인한 후 로그아웃을 해준다.

다시 cmd에서 .ssh디렉토리에 있는 id_rsa.pub 파일을
리눅스1의 홈디렉토리 아래 .ssh디렉토리 안에 authorized_keys라는 이름의 파일로 복사해준다.
(cmd에서는 키 생성할 때 id_rsa, id_rsa.pub 파일이 든 .ssh디렉토리가 자동 생성된다.)
<공개키/개인키 생성>
이제 Putty Key 생성기로 넘어와서 공개키/개인키 쌍을 생성해준다.


키 작업창 안에서 마우스를 열심히 움직이면
움직이는 마우스 좌표값을 랜덤 적용해 키를 만든다.

키 설명은 없어도 되면 지워주고 키 암호를 설정해준다.

그리고 개인키와 공개키를 차례로 저장해준다.

개인키의 파일 이름은 abc로 했다.
개인키는 확장자가 .ppk로 정해져 있으므로 파일 이름만 적고 저장한다.
(개인키와 공개키를 저장해둔곳은 반드시 기억해둔다.)

다음은 공개키를 저장할 차례이다.

공개키는 형식이 정해져 있지 않아 .pub으로 확장자를 지정해준다.
그리고 저장버튼을 눌러준다.
개인키와 공개키 생성이 끝났다.
이제 WinSCP를 사용해 공개키를 이동시켜야 한다.

왼쪽에서 리눅스1을 선택하고, 호스트 이름 (리눅스1의 ip), 사용자 이름을 입력한 후 로그인을 해준다.
(WinSCP를 처음 설치했을 때 불러오기? 그대로 사용? 그런 게 뜨는데
putty에 저장된 값을 불러오는 것을 물어보는 것이다. 불러오면 편하다)

root계정의 비밀번호를 입력한 후 확인 버튼을 누른다.
이제 키를 이동할 경로를 지정해줘야 한다.

경로 지정 방법에는 2가지가 있는데
첫번째 방법은 먼저 경로가 표시된 곳을 누른다.

그 다음 경로를 입력한 후 확인 버튼을 누르면 된다.

두번째 방법은 밑에 숨김버튼을 누른다.

숨겨진 파일들이 뜨는데 파일을 이동시킬 .ssh디렉토리를 클릭한다.

경로 지정이 끝났으면 왼쪽 공간에서 경로를 지정해준 쪽으로 공개키 파일을 드래그해준다.

이제 putty로 돌아와서 세션에 키를 넣어줄 차례이다.

리눅스1을 선택한 후 SSH-Auth를 클릭한다.

인증 개인키 파일에 .ppk파일을 넣어준 후 세션으로 돌아간다.

리눅스1의 세션을 선택하고 저장한다.
그리고 세션을 열어준다.

개인키 파일을 넣어줬지만 아직은 형식이 맞지 않아 Server refused our Key라고 뜬다.
지금은 키 암호 대신 root계정의 암호를 사용해 로그인을 할 수 있다.
다시 cmd로 넘어와서 리눅스1으로 로그인해준다 (putty에서 해도 된다.)

그리고 .ssh디렉토리로 이동 후 vi편집기로 authorized_keys파일을 열어준다.

처음 문단은 authorized_keys에 들어있는 키 값이고
마지막 문단은 .pub으로 끝나는 공개키 파일에 들어있는 키 값이다.
이제 여기 있는 키를 수정해준다. (내용 수정xx, 형식 수정o)
먼저 행 번호를 확인하기 위해 명령모드에서 :set nu를 입력한 후 엔터를 눌러준다.

그리고 필요없는 2, 3, 10행은 지워줍니다. (명령모드에서 dd를 누르면 한 줄이 사라진다.)

Athorized_keys는 여러 줄인데 한 행이라고 뜨는 이유는 한 줄이기 때문이다.
이제 공개키 값인 2~7행도 한 줄로 만들어줄 차례이다.
4행으로 이동한 후 Shift + J (=대문자 J)를 마지막줄까지 눌러준다.

한 줄로 만들어주니까 공백이 생겼다.
이제 공백을 없애준다.
입력모드에서 :2s/ //g를 입력해주면 공백이 사라진다.

그리고 :wq로 저장하고 나간다.

cmd창을 껐다가 재접속을 해보면 root의 비밀번호 대신 개인키 암호로 로그인하라고 뜬다.

키 암호를 입력해 로그인을 한다.
'Linux' 카테고리의 다른 글
| Linux : APM설치 (Apache + Php + Mariadb) + mysql 초기 설정 (0) | 2023.02.23 |
|---|---|
| Linux : Zone file(존파일) 설정 실습 (0) | 2022.12.28 |
| Windows(Xshell) → Linux (0) | 2022.12.24 |
| Linux 2 → Linux 1 (0) | 2022.12.23 |