IT world

리눅스 ssh key 생성 본문

리눅스

리눅스 ssh key 생성

엄킹 2019. 11. 25. 17:56



이번 포스팅은 CentOS6.3 버전을 사용했으며 ssh 키를 설정하고 등록하는 방법을 알아보려고 한다.




비공개 서버에 접속하기 위해서는 인증저라를 거쳐야 한다. 그리고 그 인증절차 중에 가장 널리 사용되는 것이 ID/비밀번호 입력방식이다.


하지만 네트워크 상에서 ID/비밀번호가 그대로 노출되는 문제가 발생하였고 더 안전성이 높은 인증절차가 필요했다.


ssh key에 대해 말하자면 SSH Key란 서버에 접속할 때 비밀번호 대신 Key를 제출하는 방식이다.


비밀번호보다 높은 수준의 보안을 필요로 하거나 로그인 없이 자동으로 서버에 접속 할 때 주로 사용된다.






ssh key 생성


현재 리눅스에 namenode와 snamenode라는 가상환경을 만들었다. 


이 두개의 서버가 현재 서로 공유가 될 수 있도록 설정하는 것을 먼저하도록 하겠다.

독립적인 서버가 서로의 존재를 알고 공유하기 위해 vi /etc/hosts에 각각의 ip주소를 등록한다.




ifconfig 라는 명령을 통해 각각의 ip주소를 확인



[namenode 서버의 주소이며 동일한 벙법으로 snamenode의 주소를 확인]






 vi /etc/hosts 편집기에서 서로의 ip주소를 등록



[서로의 주소를 등록해서 후에 생성된 ssh키가 공유된 서버로도 전송되는 지를 확인하기 위한 작업]






cd 를 통해 최상위 경로로 이동해준다음 ssh-keygen -t rsa 명령어를 수행한다 (두 서버 모두 실행)

-이렇게 리눅스에서는 인증키를 만드는 내용을 작성할 수 있으며 보안을 더욱 강력하게 만든다.

-ssh-keygen을 통해 인증키를 만들어주는 작업을 수행하고 -t rsa를 통해 자체적으로 임의의 난수를 생성해 암호키를 만들고 난수를 암   호키로 사용하게 한다. 



Enter file in which to save the key 의 질문은 어디에 key를 만들지 묻는 것이며 그냥 엔터를 쳐서 기본위치에 기본 파일명으로 만들었음


Enter passphrase (empty for no passphrase) 의 질문은 key에 대한 비밀번호를 만드는 것인데 보통 엔터로 넘긴다

그냥 넘기면 .ssh라는 경로에 파일이 생성된다.


사진과 같이 화면이 보인다면 정상적으로 수행된 것이다.






암호키에 대한 정보들은 .ssh라는 루트에 저장되고 생성된 암호키를 확인하기 위해 .ssh로 이동하여 해당 파일을 불러보았다.



cd .ssh로 경로를 이동하여 해당 파일이 생성되었는 지 확인하였고 cat을 통해 해당 파일을 출력해보았더니 임의의 난수가 생성되어 파일에 저장되어진것을 확인하였다.






다음으로 암호키에 대해 복사본을 만들어서 공유된 다른 서버인 snamenode에서 보낸 암호키를 받아서 붙여넣을 것이다.

(namenode서버에만 수행)



[동일한 난수로 autorized_kes 파일이 생성되었고 snamenode에서 보낸 암호키를 덧붙일 것이다.]







ssh root@snamenode cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_kes 를 입력하면 snamenode의 서버에 접속해서 snamenode에 있는 id_rsa.pub의 값을 현재 서버로 받아와서 authorized_kes에 붙여넣는다는 이야기이며 ssh root@snamenode를 통해 해당 서버로 접속하는 것.


password 입력하는 부분은 접속한 서버 즉 snamenode의 서버 비밀번호를 입력하면된다.




이런식으로 snamenode의 id_rsa.pub파일의 암호키를 받아와 namenode의 autorized_kes에 붙여넣었고 서버끼리 공유하고 있다는 것을 확인하였다.







다음은 현재 namenode의 authorized_kes 파일을 snamenode의 지정경로에 전송하는 작업이다.

scp -rp authorized_kes root@snamenode:~/.ssh/authorized_keys  를 입력하여 전송하는데 namenode의 authorized_kes 의 파일을 snamenode 서버의 ssh폴더에 authorized_keys의 이름으로 저장된다.




[namenode 서버에서 파일을 전송하는 작업]



[snamenamenode에서 파일을 받은 작업을 보여주는 사진]


첫번째 사진을 보면 namenode에서 성공적으로 파일을 보냈으며 비밀번호입력은 snamenode의 암호를 입력하면된다


snamenode에서 ls로 파일 확인을 해보니 기존에 없었던 authorized_keys파일이 생성되었고


출력을 해보니 namenode의 authorized_kes와 같은 암호값임을 확인할 수 있다.







공유한 서버로의 접속은 ssh "공유한서버이름" 을 입력하면 된다.



snamenode 서버에서 파일을 만들었고



namenode에서 ssh snamenode로 snamenode에 접속하여 경로를 따라가서 확인해보니 생성된 파일을 확인함으로써 


namenode에서 snamenode로 서버를 접속했음을 확인할 수 있고


서버에서 빠져나오는 것은 exit를 입력하면 된다.





이렇게 ssh key를 이용해서 다른 서버로 접속할때 비밀번호를 입력하지 않아도 접속이 될 수 있는 것을 확인하였다.

'리눅스' 카테고리의 다른 글

리눅스 wordcount를 사용해서 데이터 값 시각화하기  (0) 2019.11.26
리눅스 하둡1  (0) 2019.11.26
리눅스 간단한 예제  (0) 2019.11.22
VMware centOS 7 설치  (0) 2019.11.22
리눅스 디렉토리 구조  (0) 2019.11.20
Comments