Category Archives: Setting

centos, windows, eclipse, vscode, etc tools
각종 설정과 관련된 내용을 다룹니다.

[Setting | CentOS] 초기보안설정 – 원격접속시 루트로그인 방지

리눅스 최초 설치시 보안을 위해 원격접속(ssh)에 대한 루트(root)계정 직접 로그인을 막아야 한다. 일반계정을 생성하고 sudo 명령을 통해 루트권한을 사용하는 방법에 대하여 설명한다.


작성일 : 2021-07-08
OS : CentOS Linux release 7.6.1810


1> 일반계정 생성

adduser new_user
passwd new_user

2> 원격접속시(ssh) 루트로그인 옵션설정

su root
vi /etc/ssh/sshd_config
/* sshd_config File */
# 아래옵션을 no로 변경
PermitRootLogin no
# sshd restart
service sshd restart

3> 일반계정 로그인 및 루트권한 확인

# 루트 로그인 불가
login as: root
root@192.168.219.102's password:
Access denied

# 루트 계정 전환
su root

4> 계정 전환없이 사용설정

# 일반유저를 루트와 동일하게 wheel 그룹에 추가
usermod -aG wheel new_user

# 루트계정에서 sudo권한 설정
su root
visudo 또는 vi /etc/sudoers
/* sudoer */
# 주석처리 되어있다면 아래와 같이 수정
## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL

5> 비밀번호 입력없이 사용설정

# 루트계정에서 sudo권한 설정
su root
visudo 또는 vi /etc/sudoers
/* sudoer */
# 비밀번호 입력없이 sudo 명령 사용
new_user ALL=(ALL)NOPASSWD: ALL

# 참고 - 지정된 명령어만 사용가능하게 할경우
new_user ALL=(ALL)NOPASSWD: 명령어1, 명령어2

[Setting | AWS] Simple Email Service 설정

AWS에서 제공하는 Simple Email Service를 설정하고 시스템에서 메일이 발송이 필요할 경우 활용하도록 하자.


작성일 : 2019-08-07

1> 설정메뉴로 이동

  • 서비스 > 고객 참여 > Simple Email Service 선택
  • 미국 서부 (오레곤) 선택 – (원하는 지역으로 선택)
  • Identity Management > Email Address 선택

2> 발송시 사용될 이메일 인증

  • Verify a New Email Address 선택
  • 이메일 입력
  • 입력된 메일로 인증 URL이 발송됨
  • 브라우저에서 인증 URL로 이동하면 축하메시지와 함께 인증이 완료됨

3> Verification Status 의 값이 verified 로 바뀌었음을 확인


4> 다량의 메일 발송을 위한 설정

  • 최초 인증시 메일발송량이 200개로 제한 됨
  • Email Sending > Sending Statistics 선택 > Request a Sending Limit Increase 선택
  • Create case > Service limit increase 선택 > 아래사항입력 > Submit 선택
  • 아래 설정값 입력
Case classification
>> Limit Type : SES Sending Limits
>> Mail Type(optional) : System Notification
>> 나머지는 기본값
Requests
>> Region : US West (Oregon)
>> Limit : Desired Daily Sending Quota
>> New Limit value : 10000
Case description
>> Use case description : To sign up and send announcements

5> AWS 승인을 기다림

  • 접수완료 후 24시간 정도 후 승인메일을 받게됨

6> SMTP 발송 설정

  • 설정을 통해 SMTP 발송계정 발급
  • Email Sending > SMTP Settings > Create My SMTP Credentials 선택
  • IAM User Name 입력 > 생성 버튼 클릭
  • 자격 증명 다운로드 클릭 > credentials.csv 파일 다운로드
  • 생성된 계정 & 서버설정 정보를 통해 이메일 발송

[Setting | VSCode] ftp / sftp 접속

CI환경이 구축되지 않아서 수정한내용을 번거롭게 개발 & 배포를 해야할 경우가 있다.
이때 번거로움을 피하고자 서버에 직접 접속하여 수정하게 된다.
(물론, 이력관리서비스 장애에 취약하게 되니 추천되는 방법은 아니다.)
Visual Studio Code 에서 sftp로 서버에 직접 접속하여 소스를 수정하는 방법을 정리해 본다.


작성일 : 2021-03-27

1> Extenstions(단축키 Ctrl+Shift+X) > ftp-simple을 검색하여 설치한다.


2> 설치가 완료되면 단축키 Ctrl+Shift+P > ftp-simple : Config – FTP connection setting 실행


3> 다음과 같이 설정하고 저장

name : 접속구분
host : 서버호스트
port : 접속포트
type : ftp or sftp
username : 사용자명
password : 패스워드
path : 수정할 폴더경로
autosave : 수정후 저장시 자동으로 서버에 수정 및 저장여부
confirm : 저장시 덮어쓸지여부를 선택
privateKey : 접속시 키파일이 필요할경우 경로를 입력

※ 전체옵션

name - string - Display name.
host - string - server domain or ip.
port - number - (option) port (Default: : 21)
type - string - (option) ftp type. 'ftp' or 'sftp' (Default: : 'ftp'). If 'ftp' does not work, try 'ftp2'.
username - string - username for authentication.
password - string - (option) password for authentication.
privateKey - string - (option) (only sftp) String that contains a private key for either key-based or hostbased user authentication (OpenSSH format) Default: none
passphrase - string - (option) Use sftp 'privateKey' only. For an encrypted private key, this is the passphrase used to decrypt it. Default: none
agent - string - (option) (only sftp) Path to ssh-agent's UNIX socket for ssh-agent-based user authentication. Important: Windows users: set to 'pageant' for authenticating with Pageant or (actual) path to a cygwin "UNIX socket." Default: none
agentForward - boolean - (option) (only sftp) Set to true to use OpenSSH agent forwarding (auth-agent@openssh.com) for the life of the connection. agent must also be set to use this feature. Default: false
secure - boolean - (only ftp) Explicit FTPS over TLS, default: false
secureOptions - object - (only ftp) Options for TLS, same as for tls.connect() in Node.js.
path - string - (option) remote root path. Default: '/'
autosave - boolean - (option) To determine whether the automatically uploaded when you open a file directly and modify and save. Default: true
backup - string - (option) The local path you want to back up before file saving on the server.
confirm - boolean - (option) Only save option. When you save the file, ask if you want to overwrite the file if it already exists.. Default: true
project - object - (option) Only save option. Pre-specify local workspace path and server root path to save directly without selecting a path. Overwrite unconditionally.
ignore - array - (option) Only 'Remote directory open to workspace' option. Path to be ignore. Use glog pattern. (Caution : server path (ex:/home) + ignore pattern (ex:/**/node_modules) => /home/**/node_modules)

4> 단축키 Ctrl+Shift+P > ftp-simple : Remote directory open to workspace

선택하면 3>에서 설정한 접속구분명이 보여지고 접속할 폴더도 선택가능하다.


5> 파일 수정이 되지 않는다면…

파일에 권한을 확인해야 한다.
접속한 사용자가 파일수정권한이 없을경우 에러메시지 없이 서버에 내용이 반영되지 않는다.
파일의 소유자를 변경하거나 접속 username을 변경해야 한다.