-
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.txt
my directory1 directory2
move
example1.txt ํ์ผ directory1์ผ๋ก ์ฎ๊ฒจ๋๊ธฐ
mv example1.txt directory1/
move + rename
mv exmaple1.txt directory1/example2.txt
rm : ํ์ผ์ด๋ ๋๋ ํ ๋ฆฌ ์ญ์ ํ๊ธฐ
example1.txt ํ์ผ ์ญ์
rm example1.txt
ํ๋กฌํํธ ์ฐฝ์์ ๋ด ํ์ธ ๋ฐ๊ณ example.txt ํ์ผ ์ญ์
rm -I example.txt
directory1์ ์๋ ๋ชจ๋ ๊ฒ๋ค ์ญ์
rm directory1/
chmod : ํ์ผ์ permissions ๋ฐ๊พธ๊ธฐ(read and write)
์์ , write ๊ถํ user์๊ฒ ๋ถ์ฌ
chmod u+w example.txt
read ๊ธฐ๋ฅ group์๊ฒ ๋ถ์ฌ
chmod g+r example1.txt
mkdir : directory ์์ฑ
mkdir <newdirectoryname>
pwd : ํ์ฌ ์์นํ๊ณ ์๋ ๋๋ ํ ๋ฆฌ ์๋ ค์ค
who : ๋๊ฐ ์์คํ ์ log ํ๊ณ ์๋์ง ์๋ ค์ค
pico : ํ์ผ ์์ฑํ๊ณ ์๋ํฐ ์ด๊ธฐ
pico newfile.txt /*=== vi newfile.txt*/
man : ํด๋น ๋ช ๋ น์ด์ ๋ํ ์์ธ ์ค๋ช ์ ๋ณด์ฌ์ค
man <command>
encryted keys ์์ฑํ๊ธฐ(ssh ํค ์์ฑ)
1. ssh ํค๋ฅผ ์ ์ฅํ ํด๋ ์์ฑ
mkdir .ssh
2. ssh ํค ์์ฑ
ssh-keygen -t rsa
3. ๋ ์์ ํ๊ฒ 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_key
3. change the premissions for the SSH folder to allow access
chmod 700 .ssh
์ฐ๊ฒฐ ์ ๋๋์ง ํ์ธํ๊ธฐ
ssh <username>@<remote>
'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