
외부에서 원격 접속시 telnet과 같은 remote shell을 사용했었지만 Sniffing, Spoofing과 같은 공격 가능성이 있어 안전하지 않다. 이에 암호키를 사용해 데이터 암호화를 지원하는 ssh를 기본으로 사용하고 있다.
SSH 연결시 대칭키, 비대칭키 암호화, Hash를 사용하여 인증 및 암호화를 진행한다.
대칭키 방식은 클라이언트-서버 간 전체 연결을 암호화에 사용되며, 비대칭키 방식은 키 교환, 클라이언트 인증, 서버 인증에 사용되고, 해시 알고리즘은 패킷의 무결성을 확인하기 위해 사용한다.
SSH 연결 동작은 다음과 같다.
1. Client -> Server 연결 요청
2. Server -> Client 공개키 전송
3. Client에서 해당 공개키로 비밀키 생성
4. 생성된 비밀키 암호화
5. Client -> Server 비밀키 전송
6. Server에서 비밀키 복호화
Linux OpenSSH 설정 파일은 /etc/ssh에 존재한다. 서버 설정, 암호키에 대한 정보들을 확인할 수 있다. 
sshd_config 파일의 일부이다. 주석 처리되어 있지만 포트번호, sshd 서비스 대기 주소, 버전과 같은 정보를 확인할 수 있고, 키 파일 관련 설정에서 암호화 알고리즘을 통해 /etc/ssh에 저장하도록 설정되어 있다.
또한 로그 파일 생성시 로그 파일 종류를 지정하고 있고, 로그의 우선순위도 지정하고 있다. 해당 로그는 /var/log/secure에서 확인할 수 있다. 인증 관련에서 로그인 실패시 연결을 끊는 시간, 루트 사용자 허용여부, 원격 로그인 인증 시 패스워드 인증 사용 여부 같은 것들도 설정 가능하다.