-
SSH(Secure Shell)TIL 2022. 9. 19. 05:58
SSH
ssh๋ ์๊ฒฉ์ง์ ์๋ ์ปดํจํฐ๋ฅผ ์์ ํ๊ฒ ์ ์ดํ๊ธฐ ์ํ ํ๋กํ ์ฝ์ด๋ค.
ssh client: ์ง๊ธ ์ฌ์ฉํ๊ณ ์๋ ๋์ ์ปดํจํฐ

ํ๊ณ ์ถ์ ๊ฒ : ์ง๊ธ ๋ด ๋ ธํธ๋ถ์ ๊ฐ์ง๊ณ ์๊ฒฉ์ง์ ์๋ ์๋ฒ์ ์ ์ํ๊ณ ์ถ์. ํ๋กํ ์ฝ ํ์ > ssh ์ด์ฉ
๋ฌด์์ผ๋ก ์ ์ : shell์ ํตํด
* shelll : ๋ช ๋ น์ด๋ก ์ปดํจํฐ๋ฅผ ์ ์ดํ๋ ๋ฐฉ์
๊ธฐ์กด์๋ telnet์ ์ฃผ๋ก ์ด์ฉํด์ ํต์ ์ ํ๋๋ฐ ๋ณด์์์ ๋ฌธ์ ์ ์ผ๋ก ๋์จ ๊ฒ์ด SSH์ด๋ค. SSH๋ ๊ฐ๋ ฅํ ์ํธํ ๋ฐฉ์์ ์ฌ์ฉํด client์ server๋ฅผ ์ฐ๊ฒฐ์์ผ ๋ฐ์ดํฐ๋ฅผ ์ค๊ฐ์์ ๊ฐ๋ก์ฑ๋ ํด์ํ ์ ์๋ ์ํธํ๋ ๋ฌธ์๋ง์ ๋ ธ์ถ์ํจ๋ค.
์๋์ฐ๋ SSH Client๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ค์น๋์ด ์์ง ์์. ์ ๋์ค ๊ณ์ด์๋ง ๊ธฐ๋ณธ์ ์ผ๋ก ์ค์น๋์ด ์์.
SSH Client ์ข ๋ฅ
- PuTTY
- Xshell
SSH Server
SSH ํด๋ผ์ด์ธํธ๊ฐ ์ ๊ทผํ๊ธฐ ์ํด์๋ ์๋ฒ์ SSH Server๊ฐ ์ค์น๋์ด ์์ด์ผ ํ๋ค.
- OpenSSH
SSH KEY
๋น๋ฐ๋ฒํธ ์์ด ๋ก๊ทธ์ธํ๊ฑฐ๋, ๋น๋ฐ๋ฒํธ ๋ณด๋ค ๋์ ์์ค์ ๋ณด์์ ํ์๋ก ํ ๋ ์ฌ์ฉํ๋ค.
๋น๋ฐ๋ฒํธ ๋์ key ์ ์ถ
๋์๋ฐฉ์
ssh client (private key ๊ฐ์ง๊ณ ์์)
private key์ public key๊ฐ ์ผ์นํ๋ ์ง ํ์ธ
ssh server (public key ๊ฐ์ง๊ณ ์์)
SSH KEY ๋ง๋ค๊ธฐ
- ์ ๋์ค ๊ณ์ด์ ๊ฒฝ์ฐ ssh-keygen ์ฌ์ฉ
- ํผ๋ธ๋ฆญ, ํ๋ผ์ด๋น ํค ์์ฑํ๊ธฐ
์ฐ๋ถํฌ์์ SSH ์ฌ์ฉํ๊ธฐ
1. ssh client ์ค์นํ๊ธฐ์ ๋์ค์ ๊ฒฝ์ฐ SSH ๊ฐ ์ด๋ฏธ ์ค์น๋์ด ์๋ค.
2. ssh ์คํ์ํค๊ธฐ
ssh <username>@<remote>
Learning Basic Commands
cd : change directory
cd <directoryname>ls -l : check my current directory's' content
ls : ํ์ฌ directory์ ์๋ ๋ชจ๋ ํ์ผ๊ณผ ํด๋๋ฅผ ๋ณด์ฌ์ค.
-l : ๋ ์ธ๋ถ์ ์ธ ๋ด์ฉ size, date ๋ฑ์ ๋ณด์ฌ์ค
ls -a ์ ๊ฒฝ์ฐ ์จ๊ฒจ์ง ํ์ผ๊ณผ ํด๋๋ช ๋ ํ์.

scp : ๋ฆฌ๋ชจํธ ์ปดํจํฐ์ ํ์ผ๋ค ๋ณต์ฌํด์ค๊ธฐ
๋ฆฌ๋ชจํธ ์ปดํจํฐ์ ์๋ example1.txt ํ์ผ ๋ณต์ฌํด์ค๊ธฐ
path ์๋ต ์ ๋ฃจํธํด๋์์ ๊ฐ์ ธ์ด.
scp /localdirectory/example1.txt <username>@<remote>:</path>๋ด ์ปดํจํฐ์ ์๋ ./exampleํ์ผ ๋ฆฌ๋ชจํธ ์ปดํจํฐ์ ์๋ ./ํ์ผ๋ก ์ด๋
scp <username>@<remote>:/home/exmaple/txt ./cp : ํ์ผ ๋ณต์ฌํ๊ธฐ
example ํ์ผ ๋ณต์ฌํด์ example2 ๋ง๋ค๊ธฐ
cp example1.txt example2.txt๊ฐ์ ํ์ผ, ๊ฐ์ ์ด๋ฆ์ผ๋ก ํด๋น ๋๋ ํ ๋ฆฌ์ ๋ณต์ฌํ๊ธฐ
cp example1.txt <directory>/mv : ๋๋ ํ ๋ฆฌ ์ฎ๊ธฐ๊ธฐ + ํ์ผ๋ช ๋ณ๊ฒฝํ๊ธฐ
rename
mv example1.txt example2.txtmy directory1 directory2move
example1.txt ํ์ผ directory1์ผ๋ก ์ฎ๊ฒจ๋๊ธฐ
mv example1.txt directory1/move + rename
mv exmaple1.txt directory1/example2.txtrm : ํ์ผ์ด๋ ๋๋ ํ ๋ฆฌ ์ญ์ ํ๊ธฐ
example1.txt ํ์ผ ์ญ์
rm example1.txtํ๋กฌํํธ ์ฐฝ์์ ๋ด ํ์ธ ๋ฐ๊ณ example.txt ํ์ผ ์ญ์
rm -I example.txtdirectory1์ ์๋ ๋ชจ๋ ๊ฒ๋ค ์ญ์
rm directory1/chmod : ํ์ผ์ permissions ๋ฐ๊พธ๊ธฐ(read and write)
์์ , write ๊ถํ user์๊ฒ ๋ถ์ฌ
chmod u+w example.txtread ๊ธฐ๋ฅ group์๊ฒ ๋ถ์ฌ
chmod g+r example1.txtmkdir : directory ์์ฑ
mkdir <newdirectoryname>pwd : ํ์ฌ ์์นํ๊ณ ์๋ ๋๋ ํ ๋ฆฌ ์๋ ค์ค
who : ๋๊ฐ ์์คํ ์ log ํ๊ณ ์๋์ง ์๋ ค์ค
pico : ํ์ผ ์์ฑํ๊ณ ์๋ํฐ ์ด๊ธฐ
pico newfile.txt /*=== vi newfile.txt*/man : ํด๋น ๋ช ๋ น์ด์ ๋ํ ์์ธ ์ค๋ช ์ ๋ณด์ฌ์ค
man <command>encryted keys ์์ฑํ๊ธฐ(ssh ํค ์์ฑ)
1. ssh ํค๋ฅผ ์ ์ฅํ ํด๋ ์์ฑ
mkdir .ssh2. ssh ํค ์์ฑ
ssh-keygen -t rsa3. ๋ ์์ ํ๊ฒ ssh ํค๋ฅผ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด ssh ๋น๋ฐ๋ฒํธ๋ ์์ฑํ๊ธฐ
sshํค๋ฅผ ์์ฑํ๋ฉด passphrase๋ฅผ ์์ฑํ ๊ฒ์ธ์ง ๋ฌผ์ด๋ณธ๋ค. ์ด๋ ์์ฑํ์ง ์์ ๊ฒ์ด๋ผ๋ฉด enter๋ฅผ ์น๋ฉด ๋๊ณ , ์์ฑํ๊ฒ ๋๋ฉด .ssh ์์ id_rsa, id_rsa_pub ๋ ๊ฐ์ ํด๋๊ฐ ๋ง๋ค์ด์ง๋ค.
preivate key's์ ๋ํ ๊ถํ์ ์์ => ์ค์ง read๋ง ๊ฐ๋ฅํ๋๋ก
chmod 600 .ssh/id_rsa๋ฆฌ๋ชจํธ ์ปดํจํฐ์ public key ์ ์ฅํ๊ธฐ
: at the end of the command
scp .ssh/ssh_client <username>@<remote>:๋ฆฌ๋ชจํธ ์ปดํจํฐ์ ์๋ public key ๋ค์ด๋ฐ๊ธฐ
1. ssh ํด๋ ๋ฆฌ๋ชจํธ ์ปดํจํฐ์ ์์ฑํ๊ธฐ
2. ๋ด client key๋ฅผ authorized keys ํ์ผ์ ์ถ๊ฐํ๊ธฐ
- ๋ง์ฝ ํ์ผ๋ช ์ด ์๋ค๋ฉด ์์ฑ
cat id_rsa.pub >> .ssh/authorized_key3. change the premissions for the SSH folder to allow access
chmod 700 .ssh์ฐ๊ฒฐ ์ ๋๋์ง ํ์ธํ๊ธฐ
ssh <username>@<remote>How to Use SSH (with Pictures) - wikiHow
Quickstart guide for SSH on WindowsIf you're connecting to a Unix system over the internet, it's important to encrypt your connection so your passwords and other data remain secure. An easy way to do this is to install an SSH client on...
www.wikihow.com
'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ช ์์ฝ๋์ธ ๋ฉ๋ด ๋ง๋ค๊ธฐ (0) 2022.10.05 Computer Basics (0) 2022.09.17 ๐จ ubuntu | shell theme ๋ฐ๊พธ๊ธฐ (0) 2022.09.15 Git , Github | ๊น๊ณผ ๊นํ๋ธ ๋ง์คํฐ (0) 2022.09.14 โฑ๏ธ ์คํฑ์์น ์ ์ํ๊ธฐ | setInterval , String.padStart (0) 2022.09.05