SSH
: 클라이언트와 서버간 패킷 전송 시 암호화 하는 프로토콜
: 버전으로 ssh1과 ssh2가 존재하며, 서로 호환되지는 않음
: ssh2는 이중 암호화 RSA를 비롯한 다양한 보안 기능 제공
SSH 프로그램
- openssh
: ssh 서버와 클라이언트에 필요한 패키지 포함
: ssh 접속을 위한 키 생성 도구인 ssh-keygen 포함
- openssh-server
: ssh 서버 관련 패키지
: sshd, sftp 서버 등 포함
- openssh-client
: ssh 클라이언트 관련 패키지
: ssh, scp, sftp 등 포함
SSH 관련 명령어
- ssh
- ssh-keygen
ssh
: SSH 서버 접속을 위한 클라이언트 명령어
- 형식
: ssh [option] <host name | ip>
: ssh <account@host name>
: ssh <host name> <command>
> 서버에서 명령 실행
- 주요 옵션
: -l
> 다른 계정으로 접속. 이 옵션 대신 <account@host name>으로도 가능
: -p <port>
> ssh 접속 포트
ssh-keygen
: SSH 서버 접속을 위한 비밀키 및 공개키 생성
: 서버에 비밀키를, 클라이언트에 공개키를 두고 사용
: id_rsa.pub 파일을 원격지 서버 홈 디렉터리 내 .ssh/authorized_key에 복사
- 형식
: ssh-keygen [option]
- 주요 옵션
: -t
> 사용할 암호화 알고리즘 지정. rsa, dsa 등. ssh2 버전에서는 미지정시 rsa 사용
- scp를 이용한 공개키 복사
: ssh <host> mkdir -m 700 .ssh
: scp ./ssh/id_rsa.pub <host>: .ssh/autorized_keys
SSH 서버 관련 파일
- /etc/ssh/sshd_config
/etc/ssh/sshd_config
: SSH 서버의 환경 설정 파일
- 형식
Option value
- 항목별 설명
: Port
> ssh 포트 설정
: Address
> 접속 가능한 IP 버전. any (IPv4 / IPv6 가능) / inet (IPv4) / inet6 (IPv6)
: ListenAddress
> sshd 데몬이 허가하는 서버 주소. 여러 네트워크 인터페이스가 있을때 대역과 포트 지정 가능. 0.0.0.0 / ::
: Protocol
> SSH 프로토콜 버전. 기본값 2
: HostKey
> SSH의 호스트키 위치. /etc/ssh/ssh_host_key
: KeyRegenerationInterval
> 접속 시 생성되는 키의 생성 주기. 초단위. m/h 를 붙혀 분/시간 단위로 설정 가능. 0 (다시 생성 안함)
: ServerKeyBits
> 서버키의 비트수. 기본값 1024
: SyslogFaclity
> syslog 관련 faclity 설정. 기본값 AUTHPRIV
: LogLevel
> syslog 로그 레벨. 기본값 INFO
: LoginGraceTime
> 사용자가 로그인 실패 시 서버가 연결을 끊는 시간. 0 (무제한), m/h 가능
: PermitRootLogin
> root 로그인 허용 여부. yes / no
: StrictModes
> 엄격모드. yes / no
: MaxAuthTries
> 접속 재시도 최대 횟수.
: MaxSessions
> 네트워크 주소 당 최대 연결 가능 세션 수.
: RSAAuthentication
> RSA 인증 사용 여부. yes / no
: PubkeyAuthentication
> 공개키를 통한 인증 허가 여부. yes / no
: AuthorizedKeysFile
> 클라이언트에서 생성한 공개키를 저장할 파일명. .ssh/authorized_keys
: RhostsRSAAuthentication
> 프로토콜 1 기반 RSA 이용 시 rhost나 /etc/hosts.equiv 파일 허용. yes / no (default)
: HostbasedAuthentication
> rhost나 /etc/hosts.equiv 접속 시 공개키 사용 허가. yes / no (default)
: IgnoreUserKnownHosts
> RSA 인증 시 홈 디렉터리의 .ssh/known_hosts 파일 무시 여부. yes / no (default)
: IgnoreRhosts
> RSA 인증 시 홈 디렉터리의 .rhosts 파일 무시 여부. yes (default) / no
: PasswordAuthentication
> 비밀번호를 이용한 인증 허용. yes / no
: PermitEmptyPassords
> 비밀 번호 인증 시 빈 비밀번호 허용. yes / no (default)
: UsePAM
> PAM을 통한 제어 여부. yes / no
: AllowTcpForwarding
> TCP를 통한 포워딩 허가 여부. yes / no
: GatewayPorts
> 포워딩된 포트에 대한 클라이언트 접속 허가. yes / no
: X11Forwarding
> 원격에서의 X윈도 사용을 위한 X11 포워딩 허용. yes / no
: X11DisplayOffset
> X11 포워딩 시 디스플레이 번호.
: X11UseLocalhost
> localhost에서 X11 사용 가능 여부. yes / no
: PrintMotd
> SSH 로그인 시 /etc/motd 파일 내용 출력. yes / no
: PrintLastLog
> SSH 로그인 시 마지막 로그인 기록 출력. yes / no
: TCPKeepAlive
> 클라이언트 접속 단절 여부 체크. yes / no
: UseLogin
> 로그인 세션 사용 여부. yes / no
: UsePrivilegeSeparation
> 네트워크 트래픽 발생 시 권한이 없는 자식 프로세스에 의해 생성된 권한 분리 여부. yes / no
: PermitUserEnvironment
> 홈 디렉터리 내 .ssh/environment나 .ssh/authorized_keys의 environment= 옵션 사용 여부. yes /no
: Compression
> 압축허가. delayed
: ClientAliveInterval
> 클라이언트로 부터 전송되는 데이터가 없을 때 서버가 메시지를 보내는 시간. 0 (보내지 않음)
: ClientAliveCountMax
> 클라이언트에게 전달하는 메시지 횟수
: UseDNS
> 클라이언트 호스트 주소를 IP 주소로 해석 여부. yes / no
: PidFile
> SSH 데몬의 PID를 기록하는 파일. /var/run/sshd.pid
: Banner
> SSH 로그인 전에 보여주는 메시지. none (없음) / /etc/issue (등 여러 파일)
: Subsystem
> 서브 시스템 추가. sftp /usr/libexec/openssh/sftp-server
Refference
'Certification > 리눅스마스터' 카테고리의 다른 글
리눅스 ACL (Access Control List) 관리 (1) | 2022.10.13 |
---|---|
리눅스 PAM (Pluggable Authentication Module) 관리 (0) | 2022.10.12 |
리눅스 시스템 보안 관리 (0) | 2022.10.12 |
리눅스 로그 확인 및 기록 (0) | 2022.10.12 |
리눅스 로그 로테이트 (logrotate) (0) | 2022.10.11 |