잠시만 기다려 주세요

     '민주당 심판은 아직 끝나지 않았다.'
전체검색 :  
이번주 로또 및 연금번호 발생!!   |  HOME   |  여기는?   |  바다물때표   |  알림 (16)  |  여러가지 팁 (1054)  |  추천 및 재미 (150)  |  자료실 (22)  |  
시사, 이슈, 칼럼, 평론, 비평 (580)  |  끄적거림 (126)  |  문예 창작 (701)  |  바람 따라 (69)  |  시나리오 (760)  |  드라마 대본 (248)  |  
살인!


    리눅스 서버

리눅스 서버 - SSH 접속시 사용할 SSH 키 생성 및 설정, ssh-keygen rsa
이 름 : 바다아이   |   조회수 : 6190         짧은 주소 : https://www.bada-ie.com/su/?71591783663

리눅스 상에서 ssh 키를 생성하고 설정하는 방법입니다.

각 파일 및 폴더 퍼미션... 이거 중요합니다.

.ssh 폴더는 700
authorized_keys 파일은 644
id_rsa 파일은 600


서버.ssh/authorized_keys 파일의 소유권은 반드시 접속하려는 사용자 아이디이어야 합니다.
만약 아니면 chown 아이디:아이디 authorized_keys 해서 소유권을 바꿔 주어야 합니다.

RSA 키 생성

# ssh-keygen -t rsa

위의 명령어를 이용해서 rsa 방식의 개인키와 공개키를 생성합니다.
명령어를 실행하면 아래와 같이 키를 저장할 디렉토리와 파일명을 입력하라고 합니다.
보통 디폴트로 되어 있는 위치로 생성하면 됩니다. 현재 계정 아래의 .ssh 디렉토리 아래에 생성이 됩니다.
혹시 .ssh 가 존재하면 일단 삭제하세요...

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):

다음은 암호를 입력하고 나옵니다. 만약 퍼블릭 키를 이용해서 리모트로 암호 없이 바로 접속할려면 암호를 입력하지 않고 엔터를 치면 됩니다.

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

마지막으로 아래와 같은 메시지가 출력되면서 파일이 생성됩니다.

The key fingerprint is:
e9:54:90:a3:5d:ba:7b:34:f2:30:76:f5:c7:4c:d3:25 root@aaa
The key's randomart image is:

+--[ RSA 2048]----+
| .. |
| o.. E .|
| o +. .o|
| . oo . .o|
| S. . . +.|
| o* + . +|
| ..O . . |
| . o |
| . |
+-----------------+

아래와 같이 .ssh 폴더에 id_rsa 개인키 파일과 id_rsa.pub 공개키 파일이 생성됩니다.
root 로그인 상태로 만들었으면 /root/.ssh 겠고.. 다른 사용자로 로그인 해서 만들었다면 그 사용자 폴더에 .ssh 폴더가 생성됩니다.

-rw------- 1 root root 1679 4월 10 17:24 id_rsa
-rw-r--r-- 1 root root 399 4월 10 17:24 id_rsa.pub

공개키를 이용한 ssh 접속

위에서 생성한 SSH 키를 이용해서 다른 서버에 접속할 때는 접속할려는 서버 계정의 홈 디렉토리 아래에 .ssh/authorized_keys 파일을 생성한 후
위에서 생성한 공개키 스트링을 넣어두면 됩니다. id_rsa.pub 파일을 authorized.keys 로 바꿔도 되고 만들어서 복사해도 됩니다.
다만 퍼미션 주의!! 젤 상단에 퍼미션은 설명해 놓았습니다.

아래는 예를 들어 키를 만든 것입니다. 아래 키를 쓰시면 안되겠죠. ^^; 위에 설명한 것처럼 키를 따로 만드세요...


서버

# cat ~/.ssh/id_rsa.pub

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCn2GDJZfU4h0eLaPVbpaOY9PcdIw+g2y2Nm4J8o+mUNeqpzP4Eufhz7xcps+9v
kdg+tTETbXRmNYJ0+Jrvg9GE6NIoKD0BydTlPPHiU67c9GXB13I45MplblwbeZ9W3TMQdL1fomWJMvwLqSjZJ6xuUIZBc+NArLCc
qvO/twdVp6mm7sjAPDYmDHOvhdTzOKgjGa6QmvqyPdLvPk/cLuRzLVHDzcmtVyjEPwnmgwby8a0A+yTX1AZ2V86YaRR26Rb2RRjB
gb7yK+eUcAEqr7eaeD7HLktAOL6VD0rAgNoUvIXZ8NQ13oihEaD/Ckk7LCowl9CmGVnzF7jGugPaFwTpT5jiey8IqpgG8trv7/SQ
N/t0bVClfsQP3Lb+opx+zNaFxA49lLjQfSzFdalgYWIukPgzgeDReHpEt3fxO2kgU1HyhDStyxIumyiz5qN7ZpaodgWLhMfZoino
YaFGkL+4Qm+Nb3VeV+QfkHR6q/fKwJgEXxm6aJSVChKEI28Z0BE= mr@mr

이 공개키 값을 카피 후 접속할려는 서버의 ~/.ssh/authorized_keys 파일에 카피합니다.


클라이언트

# cat ~/.ssh/id_rsa

-----BEGIN OPENSSH PRIVATE KEY-----
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
kLsNZGW4q6yglLAAAABW1yQG1yAQIDBAU=
-----END OPENSSH PRIVATE KEY-----


이후부터는 원격 서버에 접속시에 현재 서버의 개인키와 원격 서버의 공개키값이 조합되어 암호 없이 ssh 접속이 가능해 집니다.
접속 하시려면 .ssh 폴더 안이 아니라 자신의 유저 폴더에서 하시면 됩니다.
.ssh 가 유저 폴더 안에 형성되어 있을 테니까요...

(접속 예제..)

# ssh -p 14101(포트) sshtest.fun25.co.kr

Last login: Fri Apr 10 15:37:18 2015 from 211.239.124.233

root@sshtest.fun25.co.kr:~#

보안 상의 이유로 ssh 서버에 위의 키 방식만 가능하게 하고 일반 암호를 통한 접속은 불가능하도록 할려면 아래와 같이 sshd 설정을 하면 됩니다.

# vi /etc/ssh/sshd_config

sshd 설정파일을 편집해서 아래 옵션을 추가하면 암호를 통한 접속은 불가능합니다.
읽어보시면 해당 항목 있을 겁니다. 주석을 푸시던가 하세요..

PermitRootLogin without-password

ssh 서비스를 리로딩합니다.

# service ssh reload

or


# systemctl restart sshd


p.s
키값 복사하고 그럴 때 콘솔에서 떼서 복사하세요. 다른 에디터에서 복사하면 인식 못할 수도 있습니다.
엔터 들어가면 오류납니다. 그리고 한줄로 길게 나왔을 때 인식 안될걸요.... ^^;


!! 구글 클라우드 플랫폼 이용자 참고.

ssh 키 값 끝에 root@aaa 이런 부분있는데..
접속할아이디@도메인 이렇게 변경하세요.. 클라이언트, 서버 전부요...
이게 구글 클라우드 플랫폼에서 메타데이터 ssh키 붙여넣기 할 때 사용자이름 부분이 그 아이디로 등록되기 때문에 그렇습니다.
구글 클라우드 플랫폼 이용자는 참고하세요.. 에구.. 너무 오래되서 뭔 말인지도 모르겠네요...
제가 지금은 오라클클라우드 쓰는지라.. 바뀌었으면 저도 몰라용... ^^;

p.s2
클라이언트 키 파일을 .ssh 가 아닌 다른 곳에 넣어놓고 접속하려면..

ex) ssh -i 클라이언트키파일 -p 포트 아이디@bada-ie.com


출처 : http://www.fun25.co.kr/blog/ssh-key-setup

 
| |





      1 page / 5 page
번 호 카테고리 제 목 이름 조회수
148 리눅스 서버 samba ... , ... 바다아이 12
147 리눅스 서버 postfix main.cf ... 바다아이 2865
146 리눅스 서버 /etc/crontab ... 바다아이 1726
145 리눅스 서버 - MEMTEST, , 바다아이 2609
144 리눅스 서버 top , top 바다아이 3450
143 리눅스 서버 , systemd-networkd, archlinux network setting 바다아이 4315
142 리눅스 서버 mirror .. ... 바다아이 4785
141 리눅스 서버 [Ubuntu] (swapfile) , ... 바다아이 4757
140 리눅스 서버 ufw , iptables 바다아이 6149
139 리눅스 서버 ... grub . submenu, grub-mkconfig 바다아이 5052
138 리눅스 서버 CentOS 7 Upgrade Kernel, centos 바다아이 6561
137 리눅스 서버 , dd , 바다아이 4896
136 리눅스 서버 ... ntp .. ... 바다아이 5987
135 리눅스 서버 archlinux netstat , netstat ... 바다아이 5730
134 리눅스 서버 ps , ps option 바다아이 5463
133 리눅스 서버 , swap , ... swap . 바다아이 5651
132 리눅스 서버 crontab , .... 바다아이 5694
131 리눅스 서버 ssh , ssh 바다아이 6744
현재글 리눅스 서버 SSH SSH , ssh-keygen rsa 바다아이 6191
129 리눅스 서버 , date : () , () , 바다아이 6508
128 리눅스 서버 aws lightsail, ssh .. .pem 바다아이 11452
127 리눅스 서버 , ubuntu generic kernel 바다아이 6902
126 리눅스 서버 .. apt ... 바다아이 6818
125 리눅스 서버 ... ubuntu kernel compile 바다아이 8952
124 리눅스 서버 nginx http2 , . 바다아이 8269
123 리눅스 서버 psql libreadline.so.7: cannot open shared object file: No such file or directory 바다아이 8557
122 리눅스 서버 ssh .bashrc , bash .. .bash_profile 바다아이 7930
121 리눅스 서버 , , 바다아이 7183
120 리눅스 서버 rc.local ... , 바다아이 7857
119 리눅스 서버 ? - IPv4 Subnetting, (Subnet Mask) 바다아이 7563
| |









Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ Ubuntu + GoLang + PostgreSQL + Mariadb ]
서버위치 : 오라클 클라우드 춘천  실행시간 : 0.05119
to webmaster... gogo sea. gogo sea.