[Linux] /etc/ssh/sshd_config의 Ciphers, MACs 옵션을 설정하는 방법.
2024. 1. 16. 19:24ㆍOperatingSystem/linux
728x90
728x90
Ciphers (암호화 알고리즘) ?
- SSH 세션의 데이터를 암호화 알고리즘을 제어.
Ciphers 알고리즘 종류
- aes128-cbc: 128비트 AES (Advanced Encryption Standard) 암호화
- aes192-cbc: 192비트 AES 암호화
- aes256-cbc: 256비트 AES 암호화
- 3des-cbc: Triple-DES (3DES) 암호화
- blowfish-cbc: Blowfish 암호화
- chacha20-poly1305@openssh.com: ChaCha20-Poly1305 암호화 (OpenSSH에서 사용하는 고속 암호화)
- ...
MACs (메시지 인증 코드 알고리즘) ?
- SSH 세션의 메시지 인증 코드를 생성하는 알고리즘을 제어.
- 데이터 무결성을 보장. 중간에 데이터가 변경되지 않았음을 검증하는 데 사용함.
MACs 알고리즘 종류
- hmac-sha2-256: HMAC-SHA-256 알고리즘을 사용하여 메시지 인증 코드 생성
- hmac-sha1: HMAC-SHA-1 알고리즘을 사용하여 메시지 인증 코드 생성
- umac-64@openssh.com: UMAC-64 알고리즘을 사용한 메시지 인증 코드 생성 (OpenSSH에서 사용)
- ...
작업 시나리오.
- SFTP Server 작업 환경에서 /etc/ssh/sshd_config 파일의 Ciphers, MACs 옵션을 설정.
- SFTP Server 작업 환경에서 SSH 서비스를 재 시작.
- SFTP Client 작업 환경에서 SFTP Server로 키 인증 방식으로 접속 시도.
SFTP Server 작업 환경.
$ ssh -V
OpenSSH_7.6p, OpenSSL 1.0.2n 7 Dec 2017
$ hostnamectl
…
Operating System: Ubuntu 18.04.5 LTS
Kernel: Linux 5.11.5
…
SFTP Client 작업 환경.
$ ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
$ hostnamectl
…
Operating System: CentOS Linux 7 (Core)
Kernel: Linux 3.10.0-1160.6.1.el7.x86_64
...
SFTP Server 작업 환경에서 /etc/ssh/sshd_config 파일의 Ciphers, MACs 옵션을 지정.(#은 주석을 의미함.)
$ sudo vi /etc/ssh/sshd_config
...
#Ciphers aes128-ctr,aes192-ctr,aes256-ctr
#MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,umac-128@openssh.com,hmac-sha2-512,hmac-sha2-256
Ciphers aes256-ctr
MACs umac-128-etm@openssh.com
...
SFTP Server 작업 환경에서 SSH 서비스 재 시작.
$ sudo service sshd restart
SSH 서비스가 기동되었는지 확인.
$ ps -ef | grep sshd
...
root 28723 1 0 19:00 ? 00:00:00 /usr/sbin/sshd -D
...
SFTP Client 작업 환경에서 SFTP Server로 키 인증 방식으로 접속.
- 위에서 설정한 MACs, Ciphers 알고리즘을 사용하여, 접속하는 것을 확인할 수 있음.
- debug1: kex: server->client cipher: aes256-ctr MAC: umac-128-etm@openssh.com compression: none
- debug1: kex: client->server cipher: aes256-ctr MAC: umac-128-etm@openssh.com compression: none
$ sftp -v [userName]@[Server IP]
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 58: Applying options for *
debug1: Connecting to ... [...] port 22.
debug1: Connection established.
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.4
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.6p1 Ubuntu-4ubuntu0.5
debug1: match: OpenSSH_7.6p1 Ubuntu-4ubuntu0.5 pat OpenSSH* compat 0x04000000
debug1: Authenticating to ...:22 as '...'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: aes256-ctr MAC: umac-128-etm@openssh.com compression: none
debug1: kex: client->server cipher: aes256-ctr MAC: umac-128-etm@openssh.com compression: none
debug1: kex: curve25519-sha256 need=32 dh_need=32
debug1: kex: curve25519-sha256 need=32 dh_need=32
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:ATumIRypRzXW3RPQ/veWdxl/0Kr35xCItDAxL5Rr21U
debug1: Host '...' is known and matches the ECDSA host key.
debug1: Found key in /home/.../.ssh/known_hosts:15
debug1: rekey after 4294967296 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey after 4294967296 blocks
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/.../.ssh/id_rsa
debug1: Server accepts key: pkalg rsa-sha2-512 blen 279
debug1: Authentication succeeded (publickey).
Authenticated to ... ([...]:22).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: pledge: network
debug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0
debug1: Sending environment.
debug1: Sending env LANG = ko_KR.UTF-8
debug1: Sending subsystem: sftp
Connected to ....
sftp>
728x90
728x90
'OperatingSystem > linux' 카테고리의 다른 글
[Linux] 저장 장치(디스크)의 종류(HDD, SSD)를 조회하는 방법. (0) | 2024.01.11 |
---|---|
[Linux] AWS ec2 인스턴스에 ssh로 접속하는 방법. (0) | 2023.09.07 |
[linux] ubuntu(우분투)에서 *.rpm 설치하는 방법. (0) | 2022.08.04 |
[linux] "~/.ssh/config" 설정으로 서버마다 다른 인증키를 사용하여 접속하는 방법. (0) | 2022.05.11 |
[linux] "~/.ssh/config" 파일 "Bad owner or permissions on …" 에러 해결 방법. (0) | 2022.05.10 |