SSH 프로토콜은 암호화를 사용하여 클라이언트와 서버 간 보안성이 높은 연결을 가능하게 한다. 모든 유저 인증, 명령, 산출물 그리고 파일전송은 암호화 되어 전송되기 때문에 네트워크 상의 공격으로 부터 방어할 수 있다.
프로토콜은 클라이언트 서버 모델에 기반해 작동한다. 즉 SSH 서버와 연결하려는 SSH 클라이언트에 의해 연결이 이뤄진다. SSH 클라이언트는 연결 설정을 주도하고 공개 키 암호화를 사용하여 SSH 서버 ID를 확인한다. 그후 SSH 프로토콜은 강력한 대칭 암호와를 사용하고 해싱 알고리즘을 사용하여 서버와 클라이언트가 교환하는 데이터의 무결성과 개인 정보 보호를 보장한다.
SSH 는 원격 컴퓨터를 인증하기위해 public key cryptography(공개 키 암호화)를 사용한다.
ssh 커맨드는 보안이 취약한 네트워크 상에서도 두 호스트의 안전한 암호화 연결을 제공한다. 이 연결은 터미널 접근, 파일전송, 다른 앱의 터널링에서 사용할 수 있다.
Some of the most important command-line options for the OpenSSH client are:
[bind_address:]
port Dynamic application-level port forwarding. This allocates a socket to listen to port on the local side. When a connection is made to this port, the connection is forwarded over the secure channel, and the application protocol is then used to determine where to connect to from the remote machine.[user@]
host[:port]
Connect to the target host by first making a ssh connection to the pjump host[(/iam/jump-host) and then establishing a TCP forwarding to the ultimate destination from there.