본 설정은 Ubuntu 22.04.1 LTS 환경에서 진행하였습니다.
root 계정은 Linux 설치 시 기본적으로 생성되지만, 비밀번호를 생성해주기 전까지 비활성화 상태입니다.
sudo passwd root
apt-get update
: 설치되어 있는 패키지들이 새로운 버전이 있는지 확입합니다.apt-get upgrade -y
: update를 통해 확인한 패키지들의 최신 버전에 따라 패키지를 업그레이드합니다.sudo apt-get update && sudo apt-get install vim
vim ~/.vimrc
에 아래 내용을 입력하여 더 좋게 표시되게 할 수 있습니다. set number
: 줄 번호 표시set tabstop=4
: tab을 4칸으로set ignorecase
: 검색 시 대소문자 구별 xset hlsearch
: 검색 내용 하이라이트set bs=indent,eol,start
: backspace 키 사용set ruler
: 상태표시줄 커서 위치 표시set title
: 제목 표시set showmatch
: 매칭되는 괄호 표시set nowrap
: 자동 줄바꿈 해제set wmnu
: tab 자동완성 목록 표시Apt 저장소 미러를 한국의 카카오 미러 서버로 변경하여 속도를 향상시킵니다.
sudo vi /etc/apt/sources.list
로 설정파일을 열어서, Last line mode로 다음 명령어들을 입력합니다.:
%s/kr.archive.ubuntu.com/mirror.kakao.com
:
%s/security.ubuntu.com/mirror.kakao.com
locale
: 현재 locale 설정들을 조회합니다.locale -a
: 현재 설치되어있는 locale들을 조회합니다.sudo apt-get install language-pack-ko -y
: 한국어 패키지를 설치합니다.sudo vi /etc/default/locale
date
: 현재 시각을 출력합니다.timedatectl
: 자세한 timezone 설정을 조회합니다.timedatectl list-timezones
: 사용가능한 timezone 목록을 조회합니다.timedatectl set-timezone Asia/Seoul
: 아시아/서울로 timezone을 설정합니다.sudo apt-get update && sudo apt-get install openssh-server
sudo systemctl status ssh
로 SSH 가 잘 작동되는지 확인할 수 있습니다. sudo ufw allow ssh
sudo service ssh start > /dev/null
ip a
로 내부 아이피를 확인하고, ssh username@ip
로 접속할 수 있습니다.ssh username@공개ip:port
로 접속하면, 접속이 되는 것을 확인할 수 있습니다.신뢰할 수 있는 서버에 공개키를 등록하여 간편히 SSH로 접속할 수 있도록 합니다.
ssh-keygen -t rsa
으로 SSH key를 생성합니다.cat ~/.ssh/id_rsa.pub
: (defalut경로에서) public 키를 출력할 수 있습니다.chmod 700 ~/.ssh && \
chmod 600 ~/.ssh/id_rsa && \
chmod 644 ~/.ssh/id_rsa.pub
mkdir ~/.ssh
로 만들어줍니다.touch ~/.ssh/authorized_keys
로 authorized_keys 파일을 만들어주고, chmod 755 ~/.ssh/authorized_keys
로 권한을 설정합니다.~/.ssh/id_rsa.pub
에 있는 모든 내용을 복사하여 서버의 ~/.ssh/authorized_keys
에 붙여넣고, 저장합니다.ssh-copy-id -p <port-num> user@000.00.00.000
chmod 755 $HOME
으로 권한을 변경해주어야 합니다.vi ~/.ssh/config
로 사용자의 .ssh 폴더에 config 파일을 만들어줍니다.sshd_config는 리눅스 SSH 설정파일입니다.
변경이 끝나고 난 뒤에는 systemctl restart ssh
로 SSH를 재부팅 시켜주어야 합니다.
Port 22
: SSH 서비트 포트 번호를 변경할 수 있습니다. 변경 시 /etc/services 파일에서 SSH 포트값도 변경해주어야 합니다.Allowusers user1 root
: 로그인 허락할 계정을 기록합니다.ListenAddress 0.0.0.0
: sshd 데몬이 통신가능한 주소입니다. LoginGraceTime 600
: 유저의 로그인이 성공적으로 이루어지지 않았을 때, 해당하는 시간 후에 서버가 연결을 끊습니다. 값이 0이면 제한이 없습니다.PermitRootLogin no
: root로 로그인 허용 여부를 결정합니다. su
로 전환하는 것이 더 안전합니다.PasswordAuthentication yes
: 패스워드 인증을 허용합니다.PermitEmptyPasswords no
: 패스워드 인증 시 서버가 비어있는 패스워드를 인정할지 결정합니다.sudo apt-get install net-tools -y
: 네트워크 제어 command를 포함하고 있는 net-tool 패키지입니다.sudo apt-get install tree -y
: tree구조로 디렉토리를 조회할 수 있는 tree패키지입니다.sudo apt-get curl
: 웹 서버에 요청을 보내는 패키지입니다.sudo apt update && sudo apt upgrade -y
sudo apt install software-properties-common apt-transport-https wget -y
wget -O- https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor | sudo tee /usr/share/keyrings/vscode.gpg
echo deb [arch=amd64 signed-by=/usr/share/keyrings/vscode.gpg] https://packages.microsoft.com/repos/vscode stable main | sudo tee /etc/apt/sources.list.d/vscode.list
sudo apt update
sudo apt install code -y
code .
로 실행되는지 확인합니다.sudo apt remove code --purge
sudo rm /etc/apt/sources.list.d/vscode.list
sudo rm /usr/share/keyrings/vscode.gpg