SSH?
시큐어 셀(Secure SHell, SSH)은 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해주는 응용 프로그램 또는 그 프로토콜을 가리킨다. 즉, 네트워크 프로토콜 중 하나로 컴퓨터와 컴퓨터가 인터넷과 같은 Public Network를 통해서 서로 통신을 할 때 보안적으로 안전하게 통신을 하기 위해 사용하는 프로토콜이다.
출처
$ sudo apt-get install openssh-server openssh-client
(openssh : ssh와 관련된 프로그램을 제공하는 프로젝트)
ssh 서버와 클라이언트용 파일을 설치한다.
$ sudo service ssh start
$ sudo ps aux | grep ssh (확인)
$ ssh username@xxx.x.x.xx
또는
$ ssh -p 22 username@xxx.x.x.xx
-p : port
22 : ssh의 포트번호
로그인없이 다른 컴퓨터에 원격 로그인하기
(기존 컴퓨터: COM1 , 다른 컴퓨터: COM2 라고 가정)
$ ssh-keygen
위 명령어를 실행하여 COM1의 ~/.ssh 디렉토리에 id_rsa 파일을 생성한다.
위와 같이 두가지 파일이 생성되었다.
id_rsa 파일은 private key, id_rsa.pub 파일은 public key 이다.
이제 id_rsa.pub 파일을 COM2에 등록해주면 로그인 과정을 거치지 않고 COM1에서 원격 로그인할 수 있게 된다.
$ ssh-copy-id COM2의 username@192.x.x.x
COM1에서 위 명령어를 입력하여 id를 등록하게되면 COM2의 ~/.ssh 디렉토리의 authorized_keys 파일에 인증키가 추가되고, 별도의 인증과정 없이 COM1에서 COM2로 원격 접속이 가능해진다! (rsync, cron 등의 기능을 자동화하여 사용할 때 유용)
데이터를 어떤 프로세스에서 처리해야하는지 식별하기 위한 규약.
(네관사 시험 단골 출제문제인 Well-known port number😂)
웹 브라우저의 경우 포트 번호를 따로 입력하지 않아도 알아서 80번 포트를 찾아간다. (80: http / 443: https) (기존 사용중인 웹서버 외에 웹서버를 하나 더 추가하는 경우 관습적으로 8080 포트를 사용함)
/etc/ssh/ssh_config 파일을 확인해보면 포트번호가 22로 되어있는 것을 확인할 수 있다!
포트 포워딩(영어: port forwarding) 또는 포트 매핑(영어: port mapping)은 컴퓨터 네트워크에서 패킷이 라우터나 방화벽과 같은 네트워크 게이트웨이를 가로지르는 동안 하나의 IP 주소와 포트 번호 결합의 통신 요청을 다른 곳으로 넘겨주는 네트워크 주소 변환(NAT)의 응용이다. 이 기법은 게이트웨이(외부망)의 반대쪽에 위치한 보호/내부망에 상주하는 호스트에 대한 서비스를 생성하기 위해 흔히 사용되며, 통신하는 목적지 IP 주소와 포트 번호를 내부 호스트에 다시 매핑함으로써 이루어진다.
참고링크
사용자가 외부에서 내부에 존재하는 ip address로 접속하고자 할 때, 라우터에 내부로 접속할 수 있는 포트 번호를 부여하여 접속경로를 미리 설정해두는 것
(포트 포워딩 관련 문서를 찾다가 참고링크를 발견했다.. CCTV 업체의 사용설명서인데 그림과 설명이 간단하게 작성되어 있다 어무니가 매일 휴대폰으로 가게 cctv를 보시는데 이런 원리였군,,)