(Aws) SSH키페어를 이용한 계정관리

SSH키페어는 ssh-keygen이라는 프로그램으로 만들 수 있다. 내 PC의 이름이 my-pc이고 접근하려는 서버의 이름이 remote-pc라고 가정하자. 다음과 같이 rsa키를 만들 수 있다. 예) my-pc # ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/aaa/.ssh/id_rsa) : remote-pc Enter passphrase (empty for no passphrase) 다음과 같이 실행하면 작업 디렉토리에 remote-pc와 remote-pc.pub 파일이 생긴다. remote-pc가 개인키이고, remote-pc.pub이 공용키이다. 이 공용키를 접근하려는 운영체제의 유저 홈 디렉토리에 복사하면된다. remote-pc에 test라는 계정으로 접근하고 싶으면 test계정을 만든 다음 .ssh디렉토리에 authorize_keys파일을 만들고 여기에 id_rsa.pub파일의 내용을 추가하면된다. remote-pc # adduser test remote-pc # cd /home/test remote-pc # mkdir .ssh remote-pc # cat remote-pc.pub >> ./ssh/authorized_keys 이제 개인키 파일을 이용해서 remote-pc에 접근 할 수 있다. remote-pc # ssh -i remote-pc test@remote-pc

(Linux) top 명령어 설명

PID : 프로세스 ID USER : 프로세스 소유자 PR : 프로세스 우선순위 NI : 우선순위를 지정하는 Nice값 VIRT : 프로세스가 점유하는 가상메모리양 (KB단위) RES : 스왑되지 않은 물리메모리양 (KB단위) SHR : 공유되지 않은 공유메모리양 (KB단위) %MEM : 메모리 점유율 %CPU : CPU점유율

(Linux) ps -aux와 top명령어

ps -aux 명령어는 프로세스들의 정보를 보여주며 CPU사용량도 확인가능 top는 실시간 CPU사용량을 볼 수 있다. * ps 는 개별 프로세스의 상태를 보여주는데 반해 top는 전체적인 프로세스 상태를 알아 볼 때 사용가능하다.

(Linux) root 계정으로 다른 사용자 계정 비밀번호 바꾸기

$  sudo passwd [해당 계정]

(Linux) rsync 명령어

1.  파일 전송 결정 기본적으로 rsync는 파일의 크기와 수정시간을 비교하는 것으로 파일을 전송할지 말지를 결정한다. 이 방법은 아주 적은 CPU자원을 소모하지만 실수가 발생할 수 있다. 일반적으로 파일의 내용을 변경하면 크기와 수정시간이 변하지만 항상 그렇다고 단정할 수는 없기 때문이다. --checksum 옵션을 이용하면 비교방법을 개선할 수 있다. 이 옵션을 켜면, 파일의 checksum을 비교한다. 크기/시간을 이용한 비교방법보다 안전하지만 더 느리고 더 많은 자원을 사용한다. 2. 전송할 파일 부분 결정 파일 전송을 결정했다고 가정하자. 파일을 전송하기 위한 간단한 방법은 "전체 파일을 그대로 복사"하는 것이다. 쉬운 방법이지만 파일의 크기가 경우 효율적이지 않다. 1G 크기의 파일이 있다고 보자. 여기서 바뀐부분은 1k라고할때, 1k때문에 1G를 복사하게 될 것이다. Rsync는 파일의 변경된 부분만 효과적으로 복사하기 위한 알고리즘을 가지고 있다. Rsync는 파일을 고정 크기를 가지는 청크(chunk) 로 나눈다음에 checksum을 계산한다. 이 checksum을 서로 계산해서, 다를 경우 해당 부분의 청크만을 복사한다. 만약 파일의 앞 부분의 정보가 수정돼서 정보들이 밀린다면 모든 청크의 checksum이 어긋날것이다. 이 문제를 피하기 위해서 "Rollish hash"를 사용한다. 1. 로컬 컴퓨터에서 파일과 디렉토리 복사 및 동기화 #aaa.tar파일을 /var/user 디렉토리로 복사 $ rsync -avzh aaa.tar /var/user #wiki 디렉토리를 /var/user 디렉토리로 복사 $rsync -avzh wiki/ /var/user

(Linux) 특정 계정을 새로운 그룹에 포함시키기 (usermod)

sudo usermod -aG docker $(whoami)

(Linux) systemctl 명령어

* 서비스 상태 확인하기  $ systemctl status {servicename} * 서비스 시작, 중지, 재시작 하기 $ systemctl start {serviceName} $ systemctl stop {serviceName} $ systemctl restart {serviceName} * 부팅 후 서비스 활성화 비활성화 $ systemctl enable {serviceName} $ systemctl disable {serviceName} * 서비스 제거/등록 $ systemctl mask {serviceName} $ systemctl unmask {serviceName} * 실행 중인 서비스 보기 $ systemctl list-units -type=service $ systemctl list-unit-files | grep enabled