이번 시간에는 서버에 key 파일을 가지고 로그인 하게끔 설정을 해 보도록 하겠습니다. setting 파일도 하나 다룰 겸 말입니다. 먼저, 제 로컬에는 ssh 클라이언트와, git for windows, cygwin이 있습니다. ssh-keygen -t rsa는 rsa 알고리즘으로 public key와 private key를 생성합니다. 저는 C:\Users\cho의 .ssh 폴더에 생성했는데요. 이들을 모두 cygwin의 home 폴더에 그대로 복사했습니다. 다음에 권한 설정을 하나씩 해 주어야 하는데요. private, public 키가 한 쌍을 이루고 있어요. 이들은 각각 id_rsa와 id_rsa.pub인데요. 이 중에서 id_rsa는 나 말고 다른 사람이 보면 안 됩니다. 나 외에 다른 사람들..
OS/리눅스 검색 결과
리눅스에서 lrzsz는 꽤 많이 쓰인다고 어디선가 들었습니다. 사실, 전 FileZilia에서 파일 업로드하고, 다운로드를 많이 했는데요. 그건 생각보다 귀찮은 일이더라고요. 타겟에 lrzsz를 설치해 보겠습니다. 타겟에는 sshd (ssh 서버)가 깔린 상태입니다. 우분투는 sudo apt install lrzsz 이렇게 명령어를 입력하시면 됩니다. 그러면 설치가 좌르륵 하고 될 겁니다. 이제 rz를 입력해 보겠습니다. 그러면 waiting to receive라는 문구가 뜹니다. send가 보내는 것이고 receive가 받는 것이니, 여기에서는 cho@ubuntu가 받는 것을 의미합니다. cho@ubuntu는 rz가 실행되는 타겟을 의미하기도 합니다. server가 받아야 한다면 client는 보내야 ..
uname 명령어를 이용하면 현재 시스템의 정보를 볼 수 있습니다. 가상머신에 올려놓은 ubuntu 18.04하고, fedora 32로 실습해 보도록 하겠습니다. 데스크립션을 읽어봐도, 현재 system 정보를 출력한다는 것 정도만 볼 수 있어요. 옵션이 없는 경우에는 -s와 동일하다고 하는데요. -s 옵션만 붙이면 커널의 이름을 출력합니다. 먼저, 커널의 릴리즈와 버전을 출력해 보겠습니다. 각각 -r과 -v 옵션을 주면 됩니다. -r 옵션을 주고 출력해 보면 5.3.0-61-generic이 출력되는 것을 볼 수 있는데요. 이것이 커널 릴리즈와 관련이 있어 보입니다. 이것의 앞의 2개의 숫자인 5.3이 버전과 관련이 있어 보입니다. 다음에 -v 옵션을 주어서 보면 #55~18.04.1-ubuntu가 출력..
안녕하세요. 이번 시간에는 리눅스 pipe 함수에 대해서 알아보도록 하겠습니다. file 데스크립터 2개를 저장할 배열을 넘겨주기만 하면 됩니다. 그것을 넘겨주면, 그 배열에 하나는 파이프에서 읽기를, 하나는 쓰기를 할 수 있는 데스크립터가 생성됩니다. 각각 filedes[0], filedes[1]이 그 역할을 합니다. 예제 1번 프로그램을 보도록 하겠습니다. 먼저, text가 2개 있습니다. 하나는 "Hello", 하나는 "Bye" 입니다. 파이프를 생성한 다음에, fork로 자식 프로세스를 생성합니다. 상황이 대략적으로 이렇게 그려집니다. 그리고 부모에서는, 단순하게 "Hello"라는 text를 write 하기만 하고, 자식은 받기만 합니다. 일단, 자식의 pi[0]과 부모의 pi[0], 그리고 자식..
리눅스에서 pipe 명령어는 꽤 유용하게 쓰입니다. 이번 시리즈에서는 이들을 구현하기 위해서 필요한 메서드 중에서 dup2 함수를 알아보도록 하겠습니다. 이는 ori 디스크립터를, new로 복사하는 함수입니다. 아앗. 뭔지 잘 모르겠군요. /proc는 괜히 있는 것이 아니니, 이것을 이용해서 하나하나 알아보도록 하겠습니다. 먼저 예제를 보겠습니다. dup2.c입니다. 먼저, pipe(pi)는 파이프를 생성하는 함수입니다. 파이프 하나에는 입구와 출구가 있습니다. 다음에, 5번째 줄에서 dup2 함수를 호출했는데요. 1번째 인자가 pi[1], 2번째 인자가 1입니다. 그러면, pi[1]의 디스크립터를 1번 디스크립터에 복사한다는 의미인데.. 일단, dup를 실행해 보겠습니다. 그리고 다른 세션에서는 ps ..
최근댓글