인프라/linux

Linux 서버 ssh 간단 원격 접속

minhan2 2021. 9. 10. 17:37
728x90
반응형

SSH 접속을 합니다.
맥북을 기준으로 진행합니다.
원격 접속은 AWS linux unbuntu를 대상으로 합니다.

유저의 홈 폴더인 /home/developer 폴더와 developer 그룹은 생성 해놓아야합니다.

//aws ubuntu linux 서버
mkdir /home/developer
groupadd developer

기본적으로 원격접속할 서버에 본인이 사용할 아이디를 생성합니다.
예를 들어

//aws ubuntu linux 서버
sudo useradd -d /home/developer/minhan -g developer -m minhan

기본적으로 useradd 명령어의 -m 옵션은 /etc/skel 에 있는 기본 골격을 따라 만드는 명령어입니다.

sudo vi /etc/password
들어간후 bash를 변경해줍니다.

image

마지막에 /bin/bash 로 되어있으면 됩니다.
어떤 쉘을 사용할것이냐를 수정하는 부분입니다.

그후

//aws ubuntu linux 서버
sudo -iu minhan

을 입력하면 minhan 으로 로그인 하게됩니다.

이후 ssh접속을 위해서는, 접속한 아이디의 홈 디렉토리에서 .ssh 라는 폴더를 만들어주고,
해당 폴더에서 authorized_keys 라는 파일을 만들어줍니다.
그후, .ssh 폴더에는 700 권한, authorized_keys 파일에는 600권한을 줍니다.

//aws ubuntu linux 서버
mkdir .ssh
cd .ssh
touch  authorized_keys
chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys

chmod 라는 명령어로 권한을 변경시켜주어야 권한 에러가 나질않습니다.

만약 권한 에러가 나온다면, 본인의 컴퓨터와 서버 모두다 공통으로. .ssh 폴더는 chmod 700 으로, public,private key 파일들은 chmod 600으로 변경바랍니다.

ssh 명령어로 서버와 클라이언트가 연결을 할때 .ssh에 있는 파일들을 확인하기에 만들어 주는것입니다.
authorized_keys에는 클라이언트의 공개키를 넣어주면 됩니다.

이곳까지 끝낸 다음 꼭 다시 확인해주세요. 아직까지는 빈 authorized_keys파일을 만들었을 뿐입니다.


자. 상단까지는 서버에서 작업한것이였습니다.

이제 본인 컴퓨터에서 작업을 시작합니다.

// 본인 맥북
ssh-keygen -t rsa
enter
enter
enter

image

id_rsa 라는 개인키와
id_rsa.pub 이라는 공개키가 만들어졌습니다.
이 id_rsa.pub를 복사하셔서
상단에 만들었던 원격서버의 아이디에 접속하여 authorized_keys에 붙여넣어 줍니다.

이 작업은 ssh-id-copy 라는 명령어로(설치해야되는 명령어임) 간단하게 가능합니다.

// 본인 맥북
vi ~/.ssh/authorized_keys

여기까지했으면 기본적인 명령어로 접속이 가능하지만, 좀더 수월하게 하기위하여. 본인의 컴퓨터에서 ~/.ssh/config 파일을 만들어줍니다.

// 본인 맥북
vi ~/.ssh/config

image

이런 형식으로 만들어주는데,
HostName은 내가 접속할 서버의 IP
User 는 내가 원격서버에 만들어 놓은 아이디
Port는 생략 가능합니다. ssh 접속 기본Port는 22번 이지만, 다른 포트로 설정도 가능합니다.
IdentityFile 은 본인의 개인키 파일입니다. 제대로 생성 하였다면 ~/.ssh 폴더에 있습니다.

image

이런식으로 생성을 완료하였으면.

image

간단하게 접속이 가능합니다.

728x90
반응형