티스토리 뷰
보안의 기본, SSH Key 로그인
- 리눅스에 로그인하는 가장 전통적인 방법은 아이디와 비밀번호를 이용하는 것이다. 하지만, 이 방법은 외부인에게 비밀번호를 탈취당할 경우 바로 로그인을 허용할 수 있어 위험한 인증 방식이다.
- 현재 가장 널리 쓰이고 권장되는 방법은 SSH Key를 이용한 로그인이다. 사용자는 임의의 Private Key/Public Key 조합을 생성한 후, 원격지 서버에 Public Key를 복사한 후 자신만이 소유한(소유해야할) Private Key를 이용하여 로그인하는 것이다. 외부인이 탈취하기 힘들어 보안이 강화되는 효과가 있다. [관련 링크]
- 가장 먼저 원격지 서버에서 SSH Key 로그인을 허용하도록 설정해야 한다.
- 윈도 사용자라면 PuTTY Key Generator를 이용하여 Private Key/Public Key 파일을 생성할 수 있다.
- 이제 원격지 서버에 방금 생성한 Public Key를 추가할 차례이다.
원격지에서 root 계정 로그인 활성화
- 일반적으로
SSH
를 통한 원격 로그인시root
계정으로 바로 로그인하는 것은 보안상 허용되지 않는다. 하지만 꼭 root 계정으로 로그인해야 한다면 아래와 같이 설정할 수 있다.
sudo 권한을 가진 사용자 계정 생성
- 직접적으로 root 권한으로 로그인하여 중요한 작업을 수행하는 것은 보안상 위험한 일이다. 일반 사용자 계정을 생성하여 작업하다가 root 권한이 요구되는 명령어만 sudo 명령어를 사용하는 것이 바람직하다.
- 일반 사용자 계정에 sudo 권한을 부여하려면 아래와 같이 해당 사용자를 wheel 그룹에 추가하면 된다. [관련 링크]
- wheel 그룹에 속한 사용자는 평소처럼 명령어를 실행하다가 root 권한이 요구되는 명령어를 실행하면 아래와 같은 오류가 등장한다.
모든 사용자 계정 목록 조회
alias를 이용하여 명령어 축약
- 매번 동일한 명령어를 키보드로 타이핑하는 것은 비효율적인다. alias 기능을 이용하면 자주 사용하는 명령어를 축약할 수 있다.
현재 계정에 fish 쉘 적용
파일 또는 디렉토리 권한 제어
- 파일 또는 디렉토리 권한의 확인 및 제어 방법은 아래와 같다.
- 첫번째 자리는 디렉토리 또는 파일 여부를 의미한다. (
d
:디렉토리,_
:파일) - 다음 3자리는 현재
user
에게 부여된 권한을 의미한다. (r
:읽기,w
:쓰기x
:실행) - 다음 3자리는 현재 user가 소속된
group
의 user들에게 부여된 권한을 의미한다. (r
:읽기,w
:쓰기x
:실행) - 마지막 3자리는 현재 다른 그룹의 user들에게 부여된 권한을 의미한다. (
r
:읽기,w
:쓰기x
:실행) - 권한의 제어 방법은 아래와 같다.
참고 글
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Spring MVC 3
- 자전거
- Spring Boot
- 평속
- Eclipse
- 로드 바이크
- Tomcat
- 태그를 입력해 주세요.
- JHipster
- maven
- chrome
- Kendo UI Web Grid
- Docker
- node.js
- graylog
- jpa
- 알뜰폰
- MySQL
- kotlin
- JavaScript
- jsp
- CentOS
- 로드바이크
- Kendo UI
- 구동계
- spring
- DynamoDB
- bootstrap
- java
- jstl
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함