ssh와 포트포워딩, 그리고 리눅스 권한
이번 미션을 하며 만났던 문제들 중 몇 개를 다뤄 보겠다.
ssh ,포트포워딩, 리눅스 권한 문제
SSH()
일단 내가 이해한 것은 리눅스에는 ssh클라이언트가 기본적으로 있고 , 외부와의 통로를 열어주기 위해 ssh서버를 열어야 한다.
즉, ssh의 역할은 다른 컴퓨터에서 ssh서버를 연 컴퓨터로 접속을 해 파일 이동, 명령어 등을 수행할 수 있게 만들어 주는 통로 역할이다.
Ubuntu SSH 서버 구축 및 접속하기
ssh는 Secure Shell의 약자로, 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행할 수 있도록 해주는 프로토콜을 말한다. 이 포스트에서는 우분투에서 SSH를 이용해 서버를 구
cupjoo.tistory.com
그러다 파일 질라는 보았는데 파일 질라는 FTP를 사용한다고 한다.
FTP(File Transfer protocol)란 무엇인가?
tcp/ip 프로토콜을 가지고 서버와 클라이언트 사이의 파일 전송을 위한 프로토콜이다.
그래서 파일 질라를 사용하면 내가 했던 ssh를 통해 연결하고 쉡 스크립트를 통해 자동화 코딩을 하지 않아도 드래그 앤 드롭으로 쉽게 파일 이동이 가능하다.
포트 포워딩이란?
처음에 리눅스에서 ssh서버를 열고 윈도에서는 putty를 통해 접속을 하려고 했었다. 근데 응답 없음이 계속되었다. 문제는
포트 포워딩이었다.
내가 이해한 포트포워팅은 해당 포트로 요청이 들어오면 미리 저장해둔 포트로 요청을 보내는 것이다.
NAT로 설정을 했을 때 호스트 os에서 게스트 os로 접속을 하려면 반드시 포트 포워딩을 해야 한다.
우선 호스트 ip와 포트를 거치고 게스트 ip와 포트로 가는 식이다.
VirtualBox NAT 포트포워딩
NAT 설정은 호스트 OS에서 게스트 OS로 접속할 수 있게 한다. 만약 윈도우에서 리눅스의 FTP , SSH를 사용하고 싶다면 포트포워딩을 해야한다. virtualbox에서 고급 -> 포트포워딩을 클릭한다. 필자는
jdh5202.tistory.com
NAT란(네트워크 주소 변환)?
nat은 IPv4의 주소 부족 문제를 해결하기 위한 방법으로 고려되었다. 이걸 알고 밑의 사설 ip와 공인 ip를 이해해야 한다.
사설 네트워크 : 내부 네트워크 상에서만 사용되는 주소 (ex. 공유기 내부 네트워크)
공인 네트워크 : 공인된 ip 전 세계 유일
NAT란 내부 망에선 사설 ip주소(192.168.~~)를 사용하여 통신을 하고, 외부망과의 통신 시에는 NAT를 거쳐 공인 ip주소로 자동 변환해주는 것
port란?
port가 있기 때문에 서버는 요청을 받았을 때 포트번호를 보고 어디로 보낼지를 정한다.
포트포워딩(Port-Forwarding) 이란?
Port Forwarding 공유기를 사용하면 한번씩은 들어보고 검색 해봤을만한 단어입니다. 이 포스트는 포트포워딩 설정 방법이 아닌 포트포워딩이 무엇인지에 대해 알아보겠습니다. 우선 사전적 의미
storytown.tistory.com
가상 머신은 아예 내 컴퓨터 위에 다른 컴퓨터를 띄우는 거기 때문에 내부 머신을 외부 네트워크(hostpc)와 연결하려면
공유기와 같은 방식으로 연결한다. 공유기도 외부에서 접근 시 포트 포워딩을 통해 사설ip에 인터넷을 연결해 주고
가상 머신도 외부에서 접근시 포트포워딩을 통해 내부를 접근시켜준다.
리눅스에서의 권한
권한 문제 때문에 애를 먹었었다. 리눅스에서 ls -al 명령어를 치면 파일 권한과 소유자를 볼 수 있는데 권한을 살펴보면 이런 식이다
drwxr--r--
파일 속성 | 소유자 | 그룹 | 타인 |
d,b,c,-,l | 4 2 1 r(읽기) w(쓰기) x(실행) |
4 2 1 r w x |
4 2 1 r w x |
앞의 한자리 세 자리 세자리 세자리 이렇게 보면 된다. x권한이 있어야 실행도 할 수 있고 폴더에 들어갈 수 있다.
소유자에게 읽기 쓰기 실행 권한을 주려고 하면 해당 숫자를 더해서 (4+2+1 =7)
그룹에게는 읽기 쓰기 권한을 주려면 (4+2 =6)
타인에게는 읽기 권한만 주면 4의 값이 나온다. 이런 식으로
chmod 764 파일 이름 -> 권한을 바꿔준다.
리눅스 chmod (리눅스 파일 권한 변경)
파일에 주어진 접근 권한을 변경하는 명령어입니다. 소유자, 그룹, 타인에 대해 각각 읽기, 쓰기, 실행 권...
blog.naver.com
파일 구조도 알아야 한다. 맨 위의 /밑에는 root계정만 사용할 수 있다. 권한을 바꾸지 않는 이상
아 또 gitBash에는 zip 명령어가 없어서 외부 사이트에서 받아서 넣어 사용했다.
Git Bash에서 tree 명령어 사용하기(+zip 명령어 사용하기)
처음에 git bash에서 tree를 입력하면 그런 명령어가 없다고 한다. 그래서 검~색~ https://superuser.com/questions/531592/how-do-i-add-the-tree-command-to-git-bash-on-windows 해서 찾았다 해결 방법은 간단..
beemiel.tistory.com