본문 바로가기
System/Linux

ssh설치 및 사용하기

by OdOp 관리자 2023. 12. 21.
SMALL

ssh(Secure Shell Protocol)는 네트워크 프로토콜 중 하나로 컴퓨터와 컴퓨터가 같은 네트워크를 통해 서로 통신을 할 때 보안적으로 안전하게 통신하기 위해 사용하는 프로토콜입니다. 

 

ssh는 주로 '데이터 전송' 혹은 '원격 제어'를 위해 사용이 됩니다. 

 

예를 하나씩 들어보도록 하겠습니다. 

 

데이터 전송은 github를 생각해 보시면 좋을 것 같습니다.

저희가 작성한 코드를 원격 저장소인 github에 올립니다.

이때 ssh를 사용하는 것이지요.

 

원격 제어는 AWS로 예를 들면 좋을 것 같습니다. 

AWS에 원격으로 해당 머신에 명령을 내리기 위해 ssh를 통해 접속을 합니다. 

 

ssh가 어떠한 역할을 하는지 충분히 이해하셨을 것이라고 생각이 됩니다. 이제 ssh를 설치하고 사용해 보도록 하겠습니다. 

 

ssh 설치하기

ssh설치는 root계정에서 진행을 하거나 모든 명령어 앞에 sudo를 붙여야 합니다. 

저는 root계정에서 진행을 하도록 하겠습니다. 

 

일반 계정을 로그아웃하지 않고 root계정을 사용하기 위해 아래의 명령을 사용합니다. 

su -

  root유저로 들어가게 됩니다. 

 

apt install openssh-server

  ssh 서버를 설치하는 것입니다. 

  (거의 대부분 설치가 되어 있을 것입니다. root계정이 아니라면 앞에 sudo를 붙여 주세요.)

 

vi /etc/ssh/sshd_config

  파일이 열리게 되는데 이때 2가지를 바꾸어 줄 것입니다. 

  •   #Port 22  ->  Port 4242

  나중에 ssh를 접근할 때에 4242 포트만 접근이 가능하도록 설정을 하는 것입니다. (보안이 강화되겠죠.)

  •   #PermitRootLogin prohibit-password  -> PermitRootLogin no

  root 계정으로 로그인 허용 여부(yes: 허용, no: 차단)를 결정해 주는 내용입니다. (보안적인 이유로 거부를 해야겠죠.)

vi /etc/ssh/sshd_config

 

이제 설정을 다했으니 ssh를 프로그램적으로 재시작을 하도록 하겠습니다. 

systemctl restart ssh

ssh를 재시작합니다. 

 

systemctl status ssh

ssh의 현재 상태를 확인합니다. 

 

ssh 설치하기

 

ssh 접속하기

시작하기 앞에서 ssh를 접속하기 위해 2가지 조건이 있습니다. 위에서 설명드렸듯이 동일한 네트워크여야 가능합니다. 두 번째로는 ssh를 설치하셔야 합니다. 

 

ssh를 접속할 가상환경의 ip주소와 제 컴퓨터의 ip주소를 알아야 합니다. 

 

hostname -I

명령어를 사용하여 가상환경의 ip주소를 확인하도록 하겠습니다. 

hostname -I

 

저의 컴퓨터의 ip주소를 확인하겠습니다.

ifconfig

아래의 그림을 보시면 en0를 찾으실 수 있으실 것입니다. 거기에 inet이라는 목록이 있습니다. 

그 뒤에 10.12.3.7이라고 적혀 있지요.

이것이 ip주소입니다. 

ifconfig

 

이제 virtualbox에서 설정해야 할 부분이 있습니다. 

아래의 그림을 보고 잘 따라와 주세요.

 

Settings 클릭

Settings

 

Settings에서 Network선택하기

Settings에서 Network선택하기

 

Advanced에서 PortForwarding선택

Advanced에서 PortForwarding선택

 

'초록색 +버튼'을 눌러서 PortFowarding을 하나 만듭니다. HostIP에는 제 컴퓨터의 ip주소를 GuestIP에는 가상환경의 ip주소를 입력해 주세요. port 같은 경우에는 sshd_config에서 설정한 포트인 4242로 설정해 주세요. 

PortFowarding

 

root에서 특정 유저로 접근을 하도록 하겠습니다. 

ssh 유저 이름@10.0.2.15 -p 4242

ssh 유저이름@10.0.2.15 -p 4242

 

이번에는 저의 컴퓨터에서 특정 유저로 접근해 보도록 하겠습니다. 

ssh 유저이름@10.12.3.7 -p 4242

ssh 유저이름@10.12.3.7 -p 4242

 

원격 접속을 종료하시려면 exit명령을 사용하시면 됩니다. 

저의 컴퓨터에서 exit

저의 컴퓨터에서 exit

가상환에서 exit

가상환에서 exit

LIST

'System > Linux' 카테고리의 다른 글

uname 명령어  (0) 2023.12.23
linux 암호 정책 설정하기  (0) 2023.12.22
user와 group만들기  (0) 2023.12.20
ufw 설치하기  (0) 2023.12.19
sudo설정하기  (1) 2023.12.18