OpenSSH는 안전한 원격 로그인, 명령 실행 및 파일 전송을 위한 SSH 프로토콜(버전 2)의 완전한 구현입니다. 여기에는 클라이언트 ssh
및 서버 sshd
, 파일 전송 유틸리티 scp
및 sftp
는 물론 키 생성용 도구( ssh-keygen
), 런타임 키 저장( ssh-agent
) 및 다양한 지원 프로그램이 포함됩니다.
이는 Linux, OS X 및 Cygwin을 포함한 대부분의 Unix 계열 운영 체제에 대한 OpenBSD의 OpenSSH 포트입니다. 휴대용 OpenSSH는 다른 곳에서는 사용할 수 없는 OpenBSD API를 폴리필하고 더 많은 운영 체제를 위한 sshd 샌드박싱을 추가하며 OS 기본 인증 및 감사(예: PAM 사용)에 대한 지원을 포함합니다.
OpenSSH의 공식 문서는 각 도구의 매뉴얼 페이지입니다.
SSH(1)
SSHD(8)
ssh-keygen(1)
SSH-에이전트(1)
scp(1)
SFTP(1)
SSH-키스캔(8)
SFTP 서버(8)
안정 릴리스 타르볼은 여러 다운로드 미러에서 구할 수 있습니다. 대부분의 사용자에게는 안정적인 릴리스를 사용하는 것이 좋습니다. 최근 변경 사항 및 잠재적인 비호환성에 대한 자세한 내용은 릴리스 노트를 읽어보세요.
Portable OpenSSH는 autoconf 및 make를 사용하여 구축되었습니다. 작동하는 C 컴파일러, 표준 라이브러리 및 헤더가 필요합니다.
LibreSSL 또는 OpenSSL의 libcrypto
도 사용할 수 있습니다. OpenSSH는 이들 중 하나 없이 구축될 수 있지만 결과 바이너리에는 일반적으로 사용 가능한 암호화 알고리즘의 하위 집합만 포함됩니다.
zlib는 선택 사항입니다. 그렇지 않으면 전송 압축이 지원되지 않습니다.
FIDO 보안 토큰 지원에는 libfido2 및 해당 종속성이 필요하며 발견되면 자동으로 활성화됩니다.
또한 특정 플랫폼 및 빌드 시간 옵션에는 추가 종속성이 필요할 수 있습니다. 플랫폼에 대한 자세한 내용은 README.platform을 참조하세요.
git의 릴리스 타르볼과 릴리스 브랜치에는 사전 빌드된 configure
스크립트 복사본이 포함되어 있으며 다음을 사용하여 빌드할 수 있습니다.
tar zxvf openssh-X.YpZ.tar.gz cd openssh ./configure # [options] make && make tests
구성 옵션은 아래 빌드 시간 사용자 정의 섹션을 참조하세요. OpenSSH를 시스템에 설치하려는 경우 일반적으로 대상 경로를 지정하려고 합니다.
git master 브랜치에서 빌드하는 경우 configure
스크립트를 빌드하려면 autoconf를 설치해야 합니다. 다음 명령은 git에서 휴대용 OpenSSH를 확인하고 빌드합니다.
git clone https://github.com/openssh/openssh-portable # or https://anongit.mindrot.org/openssh.git cd openssh-portable autoreconf ./configure make && make tests
다양한 빌드 시간 사용자 정의 옵션을 사용할 수 있습니다. 모든 Autoconf 대상 경로 플래그(예: --prefix
)가 지원됩니다(일반적으로 OpenSSH를 설치하려는 경우 필요합니다).
사용 가능한 플래그의 전체 목록을 보려면 ./configure --help
실행하세요. 하지만 자주 사용되는 플래그 중 몇 가지가 아래에 설명되어 있습니다. 이러한 플래그 중 일부에는 추가 라이브러리 및/또는 헤더 설치가 필요합니다.
깃발 | 의미 |
---|---|
--with-pam | PAM 지원을 활성화합니다. OpenPAM, Linux PAM 및 Solaris PAM이 지원됩니다. |
--with-libedit | SFTP에 대한 libedit 지원을 활성화합니다. |
--with-kerberos5 | Kerberos/GSSAPI 지원을 활성화합니다. Heimdal 및 MIT Kerberos 구현이 모두 지원됩니다. |
--with-selinux | SELinux 지원을 활성화합니다. |
휴대용 OpenSSH 개발은 openssh-unix-dev 메일링 리스트(아카이브 미러)에서 논의됩니다. 버그 및 기능 요청은 Bugzilla에서 추적됩니다.
비보안 버그는 Bugzilla 또는 위의 메일링 리스트를 통해 개발자에게 보고될 수 있습니다. 보안 버그는 [email protected]으로 보고해야 합니다.