🔥 SSH 란?

ssh 이란 네트워크 프로토콜 중 하나로, 컴퓨터와 컴퓨터가 public network를 통해 서로 통신을 할 때 보안적으로 안전하기 위한 프로토콜이다.

🔥 SSH 서버구축하기

  1. openssh-server 설치 유무 확인

    아래의 명령어를 통해 openssh-server 가 있는지 확인해보니 openssh-client 만 존재하는 것을 발견

    dpkg -l | grep openssh
    

  2. openssh-server 설치

    아래의 명령을 통해 openssh-server를 설치하던 중, 잠금파일이 있다는 에러메세지를 만나게 되었다.

    apt-get install openssh-server
    

    에러메세지가 뜬 이유는 아래와 같고

    <aside> 💡 apt-get update는 패키지 저장소에서 새로운 패키지 목록을 가져오는 명령으로 루트 권한을 필요로 합니다. 일반 사용자 권한으로 명령을 실행하면 다음과 같이 오류 메시지를 뿌릴 것입니다.

    </aside>

    이를 해결하기 위해 잠금파일들을 삭제하고

    sudo rm /var/lib/apt/lists/lock
    sudo tm /var/lib/dpkg/lock*
    

    apt를 update 하였지만.....

    sudo dpkg --configure -a
    sudo apt update
    

    권한이 없다는 같은 에러가 여전히 뜨고 있었음.. 😭

    긴긴 구글링 끝에 관리자 계정으로 넘어가서 수행하면 된다는 것을 알게 되었다.

    그러던 중 다시 만난 su 비밀번호 인증 실패... 설상가상으로 비번을 까먹었다...ㅎ

    이럴때는 sudo passwd root를 통해 암호를 업데이트 하면 된다고 한다.

    su
    

    암호를 업데이트 한 후 su 인증을 받은 후 관리자 계정에서 openssh-server를 설치해주었다.

    apt-get install openssh-server
    

    드디어! 설치가 완료된것을 확인할 수 있다.

    dpkg -l | grep openssh
    

  3. server ip address 확인

    ifconfig 명령어로 ip address 를 확인하려고 하던 중...

    ifconfig 명령어가 존재하지 않는다는 에러를 만났다. (어느하나 한번에 되는게.. 없네😖)

    ifconfig
    

    이를 해결하기 위해, ifconfig 명령어가 포함된 net-tools package 를 설치하였고

    (설치는 위와 같은 이유로 관리자계정에서만 가능)

    apt-get install net-tools
    

    이제는 ifconfig 명령어가 잘 실행되어 ip address10.0.2.15 임을 알 수 있다.

    ifconfig
    

  4. putty 설치 & 접속확인

    putty 를 사용하기 위해 관리자 계정에서 putty를 설치해주었고

    apt-get install putty
    

    putty라는 명령어를 치면 바로 putty가 실행된다.

    putty
    

    Host name 에 아까 알게 된 ip address 를 적고 open을 누르면 아래와 같이 검은 창과 putty security alert 가 뜨고 Accept 를 누르고 우분투 설치시 설정한 계정과 비밀번호를 입력하면 로그인이 된다.

    🔥 root 계정 이외에 본인 접속할 계정 추가하기

    다른 사용자 계정을 추가하기 위해 아래의 명령어를 실행했지만 루트만이 추가할 수 있고 현재는 권한이 없다는 에러가 발생하여

    adduser new_user
    

    root 계정으로 로그인 후 다른 사용자 계정을 추가했다.

    su - root
    

    🔥 로컬 컴퓨터에서 ssh로 접속해 로그인해보기

    로컬 컴퓨터에서 아래의 명령을 통해 ssh 에 접속했고

    ssh [email protected]
    

    env 명령어를 통해 ssh 연결정보를 확인할 수 있다.

    env | grep -i ssh