{{위키데이터 속성 추적}}
{{Infobox networking protocol
|    is stack = no
|     purpose = 안전한 연결, 원격 CLI
|   developer = Tatu Ylönen, [[IETF]]
|    osilayer = [[애플리케이션 계층]]
|       ports = 22
|        rfcs = RFC 4250, RFC 4251, RFC 4252, RFC 4253, RFC 4254
|        date = 1995년
}}
{{IP스택}}
'''시큐어 셸'''({{lang|en|Secure SHell}}, '''SSH''')은 [[네트워크]] 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 [[응용 프로그램]] 또는 그 [[통신 프로토콜|프로토콜]]을 가리킨다. 기존의 [[리모트 셸|rsh]], [[rlogin]], [[텔넷]] 등을 대체하기 위해 설계되었으며, 강력한 [[인증]] 방법 및 안전하지 못한 네트워크에서 안전하게 통신을 할 수 있는 기능을 제공한다. 기본적으로는 22번 포트를 사용한다.

SSH는 [[암호화]] 기법을 사용하기 때문에, 통신이 노출된다고 하더라도 이해할 수 없는 암호화된 문자로 보인다.

SSH는 버클리 서비스들(rsh, rcp, rlogin, rexec)및 telnet, ftp 서비스를 좀 더 보안이 강화된 명령으로 대체하기 위해 만들었다. 1995년 핀란드의 Tatu Ylönen이 개발해 공개했고, 많은 반향을 일으켰다. 1995년 말 Ylönen은 SSH Communications Security사를 설립하고, 상용화되었다. 소스 코드는 공개되었지만 여러 가지 제약이 있었다고 하는데, 이에 SSH 1.2.12 릴리즈를 기반으로 OpenSSH 프로젝트가 결성되고 BSD 라이선스로 개발하기 시작했다. OpenSSH가 처음 선보인건 1999년 OpenBSD 2.6 릴리즈부터이다. 이후 계속 보완되어 오늘날에 이르게 되었다.

== 역사 ==
=== 버전 1.x ===
1995년 핀란드 [[헬싱키 공과 대학교]]의 연구원 Tatu Ylönen는 자신의 [[캠퍼스 네트워크|대학망]]에서 발생한 암호 [[패킷 가로채기|스니핑]] 공격을 이유로 SSH-1라는 이름의 최초 버전의 프로토콜을 설계하였다. SSH의 목표는 강력한 인증 및 신뢰성 보장을 하지 않는 초기의 [[rlogin]], [[텔넷]], [[리모트 셸|rsh]] 프로토콜을 대체하기 위함이었다. Ylönen는 그의 구현체를 1995년 7월 [[프리웨어]]로 출시하였고 이 도구는 빠르게 인기를 끌게 되었다.
=== 버전 1.99 ===
2006년 1월 버전 2.1이 잘 정착된 이후 RFC 4253은 SSH 버전 2.0 및 이하를 둘 다 지원하는 SSH 서버가 프로토버전을 1.99로 식별해야 한다고 규정하였다.<ref>[http://tools.ietf.org/html/rfc4253#section-5.1 RFC 4253, section 5. Compatibility With Old SSH Versions], IETF</ref> 실제 버전은 아니며 [[하위 호환성]]을 식별하는 방식이다.
=== OpenSSH / OSSH ===
1999년 자유 소프트웨어 버전을 기대하던 개발자들은 [[오픈 소스]] 라이선스로 마지막으로 출시된 오리지널 SSH 프로그램의 과거 1.2.12 릴리스로 되돌아갔다. Björn Grönvall의 OSSH는 이 코드 기반에서 최종적으로 개발되었다. 그 직후, [[OpenBSD]] 개발자들은 Grönvall의 코드를 [[포크 (소프트웨어 개발)|포크]]하여 막중한 작업을 진행하여 [[OpenSSH]]를 만들었고 OpenBSD의 2.6 릴리스에 포함되었다. 이 버전부터 "portability" 브랜치가 만들어져 OpenSSH를 다른 운영 체제로 이식하게 되었다.<ref>{{웹 인용 |url=http://www.openssh.com/history.html |title=OpenSSH: Project History and Credits |date=2004-12-22 |accessdate=2014-04-27 |publisher=openssh.com}}</ref>

=== 버전 2.x ===
2006년에 프로토콜의 개정된 버전인 SSH-2가 표준으로 채택되었습니다. 이 버전은 SSH-1과 호환되지 않습니다. SSH-2는 SSH-1에 비해 보안과 기능이 모두 개선되었습니다. 예를 들어, Diffie-Hellman 키 교환과 메시지 인증 코드를 통한 강력한 무결성 검사를 통해 보안이 향상됩니다. SSH-2의 새로운 기능으로는 단일 SSH 연결을 통해 원하는 수의 셸 세션을 실행할 수 있는 기능이 있습니다.

== 키 관리 ==
[[유닉스 계열]] 운영 체제에서 권한이 있는 공개 키 목록은 일반적으로 사용자의 홈 디렉터리에 ~/.ssh/authorized_keys라는 파일로 저장되어 있으며 이는 원격으로 로그인을 할 수 있게 허용한다.<ref>{{웹 인용 |url=http://wiki.qnap.com/wiki/How_To_Set_Up_Authorized_Keys |제목=SSH setup manual |확인날짜=2017-09-03 |archive-date=2017-07-11 |archive-url=https://web.archive.org/web/20170711015540/https://wiki.qnap.com/wiki/How_To_Set_Up_Authorized_Keys |url-status= }}</ref> 이 파일은 소유자와 루트 외의 다른 대상에 의해 기록이 불가능할 경우 오직 SSH에 의해서만 관여된다. 공개 키가 원격에 위치하고 개인 키가 로컬 말단에 존재하는 경우 암호를 입력하는 것은 더 이상 필요하지 않다. ([[메시지 전달 인터페이스]](MPI) 스택과 같은 일부 소프트웨어는 정상 동작을 위해 이렇게 비밀번호가 없는 접근이 필요할 수 있다) 그러나 개인 키 그 자체에 대한 추가적인 보안은 통과암호를 가지고 잠글 수 있다.

== 주요 기능 ==
SSH의 주요 기능은 다음과 같다.
* 보안 접속을 통한 rsh, rcp, rlogin, rexec, telnet, ftp 등을 제공.
* IP spoofing (IP스푸핑, 아이피 위/변조 기법중 하나)을 방지하기 위한 기능을 제공.
* X11 패킷 포워딩 및 일반적인 TCP/IP 패킷 포워딩을 제공.

SSH에 사용되는 암호화 알고리즘은 유럽에서 개발되었기 때문에, 미국의 수출 제한에도 걸리지 않는다.

== 알고리즘 ==
* [[타원곡선 DSA]], [[RSA 암호]], [[디지털 서명 알고리즘]], ([[공개 키 암호 방식]])
* [[타원곡선 디피-헬먼]], [[디피-헬먼 키 교환]] (키 교환)
* [[HMAC]], [[인증된 암호 방식]], UMAC ([[메시지 인증 코드]])
* [[고급 암호화 표준]](AES) ([[대칭 키 암호]]화)
* [[갈루와/카운터 모드|AES-GCM]] 및 [[ChaCha20-Poly1305]] ([[인증된 암호 방식|AEAD]] 암호화)
* [[SHA]] 및 구식 [[MD5]] (키 핑거프린트)

== 인터넷 표준 문서 ==
* RFC 4250 
* RFC 4251
* RFC 4252
* RFC 4253
* RFC 4254
* RFC 4255
* RFC 4256
* RFC 4335
* RFC 4344
* RFC 4345
* RFC 4419
* RFC 4432
* RFC 4462
* RFC 4716
* RFC 4819
* RFC 5647
* RFC 5656
* RFC 6187
* RFC 6239
* RFC 6594
* RFC 6668

== 같이 보기 ==
* [[가상 네트워크 컴퓨팅]]
* [[시그윈]]

== 각주 ==
{{각주}}

== 외부 링크 ==
{{위키공용분류}}
* [http://www.openssh.org/ http://www.openssh.org/] - 가장 널리 쓰이는 SSH 기능
* [https://web.archive.org/web/20200601023827/https://www.ssh.com/ SSH 커뮤니케이션스]
* [https://web.archive.org/web/20160420175922/http://webssh.uni.me/ WebSSH]

{{TLS/SSL}}

{{원격 관리 소프트웨어}}

{{전거 통제}}
{{토막글|인터넷}}

[[분류:시큐어 셸| ]]
[[분류:인터넷 표준]]
[[분류:인터넷 프로토콜]]
[[분류:핀란드의 발명품]]