2022/01 16

SSH 터널링 / 포트 포워딩 예시로 알아보기

# SSH란? 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜. 일반적으로는 Public key / Private key를 사용하는 비대칭 암호화(Asymmetric Encryption) 방식을 사용한다. Public Key가 자물쇠, Private Key가 자물쇠를 여는 열쇠라고 비유를 해서 그려본 그림이다. 중간에 누군가 박스를 탈취한다 하더라도 자물쇠는 오직 A/B 두사람만이 열수 있기때문에 보안성이 확보된다. # SSH 터널링이란? (SSH 포트 포워딩) SSH 클라이언트와 서버사이 연결이 수립되어 만들어진 통로가 "터널" 여기에 포트 포워딩(Port Forwarding)을 이용하면 만들어진 터널을 다른 애플리케이션이 이용할 수 있다. 방화벽을 우회할 수도있으며, 암호화를 지원하지 않는 프로그..

[SSH] UNPROTECTED PRIVATE KEY FILE 해결방법

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0755 for 'navercloud_lou.pem' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. private key 파일의 퍼미션이 과도하게 설정되어 있어서 다른 유저가 건드릴 수 없도록 적절한 권한으로 낮추어주어야한다. 내..

Windows와 WSL 사용법 - 마운트 / 파일전송

WSL은 윈도우10이상에서 리눅스를 사용하기 위한 도구다. Windows에서 리눅스 계열 실행파일의 표준인 ELF binary 파일을 실행할 수 있게 해주는 호환성을 추가했다. * 자세한 설명은 이 링크가 도움이 될 것 같다. 명령 프롬프트 또는 Powershell에서 bash를 입력하면 WSL에 마운트 된다. WSL에서 /mnt/드라이브를 입력하면 원하는 드라이브를 마운트 시킬 수 있어 Windows 파일 접근이 가능하다. 파일 전송과 복사도 이걸 가지고 하면된다. $ cd /mnt/c/Users/ASUS/Downloads/ $ mv ./test.txt ~

내 소스 코드가 실행되기까지의 과정

# 컴파일 언어 컴파일(Compile)은 어떤 언어를 다른 언어로 바꾸어주는 과정이다. int a = 30과 같이 우리가 적는 코드는 사람이 이해하기 쉬운 고급언어(High-level language)라서 컴퓨터는 이를 이해하지 못한다. 컴퓨터는 고급언어로 작성된 코드를 컴파일러 또는 인터프리터를 통해서 저급언어(Low-level language)로 번역한 후에야 코드를 실행할 수 있다. 저급언어에는 기계어 (Machine language)와 어셈블리어 (Assembly language)가 있다. - 기계어 CPU가 명령을 처리할때 사용하는 언어, 2진수로 이루어져있다. 1000 1011 0100 0101 1111 1000 1000 0011 1100 0100 0000 1100 - 어셈블리어 기계어의 숫자..

파일 시스템 - FAT32 / NTFS / ZFS / HDFS

파일 시스템(Filesystem)은 파일들이 저장공간에 어떻게 이름 지어지고, 저장되고 가져와지는지에 대한 규약이다. 물리적인 공간에 저장된 데이터를 논리적으로 매핑하여 읽고, 데이터를 검색하고 저장하는 등 관리할 수 있게 한다. 대표적인 운영체제에서 사용하고 있는 파일 시스템의 종류는 다음과 같다. Windows FAT*, NTFS Linux Ext* Mac OS HFS, APFS Solaris ZFS 맥에서 diskutil info / 를 치면 현재 볼륨에 대한 파일 시스템 정보를 볼 수 있는데, APFS를 사용중임을 알 수 있다. 파일 메타데이터 파일 시스템을 추상화해보면 메타 영역과 데이터 영역으로 나누어 볼 수 있다. 메타 영역은 파일 관리를 위한 파일의 이름, 크기, 생성일, 위치 등의 정보가..

[Javascript] Canvas 태양, 지구와 달 애니메이션 그리기 (Circle animation)

태양을 중심으로 지구, 지구를 중심으로 달을 움직이는 애니메이션을 만들어보았다. 코딩으로하는 애니메이션에 대해서 그동안 감이 좀없고 낮설었는데, (특히 게임 스크립팅도...) 익숙해질겸 건드려보고있는데 이거...재밌다..ㅋㅋㅋㅋㅋㅋ 우선 매 프레임마다 모든 요소를 다시그려주어야한다. 어렸을때 책 귀퉁이에 한장 한장마다 그려서 쭈루루룩 넘기면서 애니메이션을 만들었던것처럼, 다음장을 넘기고 그리고를 반복한다. 반복 윈도우가 로드되면, 루프를 시작한다. 이 루프는 일정한 프레임마다 영원히 돌면서 update()를 실행시키게 된다. var canvas = document.getElementById('canvas'); var context = canvas.getContext('2d'); window.onload ..

프로그래밍을 위한 수학 - 삼각비, 삼각함수 그래프

삼각비 각 A의 크기가 같은 세 직각 삼각형 ABC / ADE / AFG은 모두 닮은 도형이다. 이 닮은 도형들의 대응변 길이의 값은 항상 그 비율이 같게 된다. CB / AB = ED / AD 이런식으로... 이렇게삼각형의 각 변에 대해서 두 변의 길이의 비례값을 구할 수 있는데, 이것이 sin, cos, tan이다. sin A, cos A, tan A를 모두 통틀어 각 A에 대한 삼각비라고 한다. 유치하지만 이렇게 sin, cos, tan을 외웠었지...아무튼 각 삼각비가 어느 변들의 비례를 말하는 것인지만 기억하면 된다. 특수각 30° / 45° / 60°도에대한 삼각비 값이 정리된 표를 심심찮게 볼 수 있지만 아래처럼 계산하기 편한 삼각형을 만들어서 특수각들에 대한 sin, cos, tan 값을 ..