๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
DevOps/Linux

[CentOS] ssh password ์ž…๋ ฅ ์—†์ด ๋กœ๊ทธ์ธ ํ•˜๊ธฐ, ssh-keygen ๊ณต๊ฐœํ‚ค ์ƒ์„ฑ

by ๐ŸŒปโ™š 2020. 12. 19.

 SSH ๋กœ๊ทธ์ธ

OS : CentOS Linux release 7.8
hosts: 222.111.71.200, 222.111.71.201
user: root

๋ชฉํ‘œ : 222.111.71.200 root ๊ณ„์ •์—์„œ 222.111.71.201 root๊ณ„์ •์œผ๋กœ ๊ณต๊ฐœํ‚ค๋ฅผ ์ด์šฉํ•œ ssh ์ ‘์†

๋‹ค๋ฅธ ์„œ๋ฒ„์— ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•ด SSH ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•œ๋‹ค. ๋งค๋ฒˆ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์ ‘์†ํ•˜๋Š”๋ฐ ์ด๋Ÿฌํ•œ ๊ณผ์ •์„ ssh-keygen์œผ๋กœ ๊ณต๊ฐœํ‚ค๋ฅผ ์ด์šฉํ•ด์„œ ์ƒ๋žตํ•  ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜ ์‹ค์Šต ๋‚ด์šฉ์€ 222.111.71.201 root๊ณ„์ •์— ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ ์—†์ด ๋กœ๊ทธ์ธํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. 222.111.71.200 root ๊ณ„์ •์—์„œ ์ƒ์„ฑํ•œ ๊ณต๊ฐœํ‚ค๋ฅผ ๋ณด๋‚ด ํ™˜๊ฒฝ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

 

Permission denied (publickey,gssapi-keyex,gssapi-with-mic)

์œ„์™€ ๊ฐ™์ด Permission denied ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ssh ์—ฐ๊ฒฐ์€ ๊ณต๊ฐœํ‚ค๋ฅผ ์ด์šฉํ•œ ์ ‘์†๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ด์šฉํ•˜๋Š” ์ ‘์†์œผ๋กœ ํฌ๊ฒŒ ๋‘๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ ๊ธฐ๋ณธ ์„ค์ •์—์„œ ssh๋ฅผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ ์—ฐ๊ฒฐ์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. sshd_config ํŒŒ์ผ์„ ์ˆ˜์ •ํ•ด์„œ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

sudo vi /etc/ssh/sshd_config

...
PasswordAuthentication yes
...

systemctl restart sshd

์ ‘์†ํ•˜๋ ค๋Š” ์„œ๋ฒ„์—์„œ sshd_config์—์„œ PasswordAuthentication์„ yes๋กœ ๋ณ€๊ฒฝํ•ด์ฃผ๊ณ  sshd๋ฅผ ์žฌ์‹œ์ž‘ํ•ด ์ค๋‹ˆ๋‹ค.

 

ssh root@222.111.71.201

ip๋กœ ์ ‘์†ํ• ๋•Œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ฌผ์–ด๋ณด๊ณ  ์ ‘์†์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

๊ณต๊ฐœํ‚ค๋ฅผ ์ด์šฉํ•œ ssh ๋กœ๊ทธ์ธ, ssh-keygen ์‚ฌ์šฉ

์ ์€ ์ˆ˜์˜ ์„œ๋ฒ„๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค๋ฉด ํฌ๊ฒŒ ๋ฌธ์ œ๊ฐ€ ์—†์„ ์ˆ˜ ์žˆ์ง€๋งŒ... ์—ฌ๋Ÿฌ๋Œ€์˜ ์„œ๋ฒ„๋ฅผ ๊ด€๋ฆฌํ•  ๋•Œ๋Š” ๋ณด์•ˆ์ ์ธ ์ธก๋ฉด๊ณผ ํšจ์œจ์„ฑ์„ ์œ„ํ•ด ๊ณต๊ฐœํ‚ค๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์ ‘์†ํ•˜๋ ค๋Š” ์„œ๋ฒ„์— ๋ณต์‚ฌํ•ด ๋น„๋ฐ€๋ฒˆํ˜ธ ์—†์ด ๋กœ๊ทธ์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ณต๊ฐœํ‚ค ์ƒ์ƒ

ssh-keygen -t rsa

๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ฉด ๊ณต๊ฐœํ‚ค๊ฐ€ ์ €์žฅ๋  ํŒŒ์ผ ๊ฒฝ๋กœ์™€ passphrase๋ฅผ ์ง€์ •ํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. -t ์˜ต์…˜์€ ํƒ€์ž…์„ ์ง€์ •ํ•˜๋Š” ์˜ต์…˜์ž…๋‹ˆ๋‹ค. 222.111.71.200 ์„œ๋ฒ„ root ๊ณ„์ •์—์„œ ์ƒ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ๊ณ„์ •์— ๋Œ€ํ•œ ๊ณต๊ฐœํ‚ค์ž…๋‹ˆ๋‹ค.

 

ssh-keygen -t rsa -N '' -f /root/.ssh/id_rsa

-f ์˜ต์…˜์€ ๊ณต๊ฐœํ‚ค ํŒŒ์ผ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๊ณ  -N ์˜ต์…˜์€ passphrase๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋งŒ์•ฝ ๊ธฐ์กด์— ์ƒ์„ฑํ•œ ํ‚ค๊ฐ€ ์žˆ๋‹ค๋ฉด ๋ฎ์–ด์“ธ์ง€ ๋˜๋ฌผ์–ด๋ณธ๋‹ค.

 

ssh-keygen -t rsa -N '' -f /root/.ssh/id_rsa <<< y

'<' ๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•ด๋‹น ๋ถ€๋ถ„๋„ ๋ฐ”๋กœ ๋„˜์–ด๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

๊ณต๊ฐœํ‚ค Host ์ „์†ก

scp /root/.ssh/id_rsa.pub root@222.111.71.201:/root/id_rsa.pub

์ ‘์†ํ•˜๋ ค๋Š” ์„œ๋ฒ„์— ๊ณต๊ฐœํ‚ค๋ฅผ ๋จผ์ € ๋ณด๋ƒ…๋‹ˆ๋‹ค.

 

 

๊ณต๊ฐœํ‚ค ๋“ฑ๋ก

mkdir /root/.ssh
chmod 700 /root/.ssh
touch /root/.ssh/authorized_keys
chmod 644 /root/.ssh/authorized_keys

.ssh(700) ๊ฒฝ๋กœ๋‚˜ authorized_keys(644) ํŒŒ์ผ์ด ์—†๋‹ค๋ฉด ์ƒ์„ฑํ•ด์ค๋‹ˆ๋‹ค.

 

cat /root/id_rsa.pub >> /root/.ssh/authorized_keys

๊ณต๊ฐœํ‚ค๋ฅผ ๋“ฑ๋กํ•ด์ค๋‹ˆ๋‹ค.

 

ssh root@222.111.71.201

๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ์—†์ด ๋กœ๊ทธ์ธ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

์œ„์˜ ๋ฐฉ๋ฒ•๋Œ€๋กœ ์ ‘์†ํ•˜๋ ค๋Š” ์„œ๋ฒ„์— ๊ณ ๊ฐœํ‚ค๋ฅผ ๋ณด๋‚ด๊ณ  ๋“ฑ๋กํ•˜์—ฌ ๋น„๋ฐ€๋ฒˆํ˜ธ ์—†์ด ์ ‘์†์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ssh ํ‚ค ์ธ์ฆ์œผ๋กœ ์ ‘์†ํ•˜๋Š” ํ™˜๊ฒฝ ๊ตฌ์„ฑ์€ ์ง์ ‘ ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•œ ์ด์œ ๋„ ์žˆ์ง€๋งŒ.... ansible์ด๋‚˜ Foreman๊ฐ™์ด ๋‹ค๋ฅธ ํˆด์—์„œ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉ๋˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

 

 

๊ณต๊ฐœํ‚ค Remote ๋“ฑ๋ก

์œ„์˜ ๊ณผ์ •๋Œ€๋กœ ๊ณต๊ฐœํ‚ค ํŒŒ์ผ์„ ์ด๋™์‹œํ‚ค๊ณ  ์ง์ ‘ ๋ถ™์–ด์„œ ๋“ฑ๋กํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์ง€๋งŒ... ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์„ ์ž๋™์œผ๋กœ ํ•ด์ฃผ๋Š” ๋ช…๋ น์–ด๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

ssh-copy-id -i ~/.ssh/id_rsa.pub root@222.111.71.201

 

ssh-keygen help ์ฐธ์กฐ

๋Œ“๊ธ€