ssh-agent
ssh-agent개발자 | OpenBSD 프로젝트 |
---|---|
저장소 | github |
기입처 | C |
운영 체제 | Unix, Unix 유사, Microsoft Windows |
유형 | 명령어 |
면허증. | BSD, ISC, 퍼블릭도메인 |
웹 사이트 | www |
SSH(Secure Shell)는 공개 키 암호화를 사용하여 네트워크상의 컴퓨터에 대한 안전한 원격 로그인을 허용하는 프로토콜입니다.SSH 클라이언트 프로그램(예:ssh
는 일반적으로 원격 로그인 세션 동안 실행되며 사용자의 홈 디렉토리(예:.ssh/id_rsa
보안을 강화하기 위해(예를 들어 로컬파일 시스템상의 임의의 파일을 읽을 수 있는 공격자에 대해) 일반적으로 개인 키를 암호화 형식으로 저장합니다.이 경우 암호 키는 사용자가 기억한 패스프레이즈에서 계산됩니다.패스프레이즈를 입력하는 것은 번거로울 수 있기 때문에 많은 사용자는 로컬로그인 세션마다 패스프레이즈를 1회만 입력하는 것을 선호합니다.암호화되지 않은 키를 저장하는 가장 안전한 장소는 프로그램 메모리이며 Unix와 유사한 운영체제에서는 일반적으로 메모리는 프로세스와 관련되어 있습니다.SSH 클라이언트프로세스는 리모트로그인 세션 기간 동안만 지속되므로 일반 SSH 클라이언트프로세스를 사용하여 암호화되지 않은 키를 저장할 수 없습니다.따라서 사용자는 로컬로그인 세션의 지속시간을 초과하여 실행되며 암호화되지 않은 키를 메모리에 저장하고 Unix 도메인소켓을 사용하여 SSH 클라이언트와 통신하는 ssh-agent라는 프로그램을 실행합니다.
보안 문제
ssh-agent
소켓을 생성하여 접속을 체크합니다.ssh
이 소켓에 접속할 수 있는 모든 사용자는ssh-agent
권한은 일반적인 Linux 또는 Unix 시스템과 동일하게 설정됩니다.에이전트가 시작되면 에이전트가 새로운 디렉토리를 만듭니다./tmp
제한적인 권한을 가지고 있습니다.소켓은 이 디렉토리에 있습니다.
악성코드의 사용을 막을 수 있는 절차가 있습니다.ssh-agent
소켓을 클릭합니다.이 경우,ssh-add -c
옵션은 키를 Import할 때 설정됩니다.ssh-agent
그 후 에이전트는 에 의해 지정된 프로그램을 사용하여 사용자에게 확인을 요구합니다.SSH_ASKPASS
환경변수, 언제든지ssh
접속을 시도합니다.
SSH 에이전트는 사용자가 접속하는 서버로 "전송"할 수 있으며, 다른 접속에서도 키를 사용할 수 있습니다.로컬 시스템에서는 루트 사용자가 특히 키 파일을 직접 읽을 수 있기 때문에 루트 사용자를 신뢰할 수 있는 것이 중요합니다.리모트 시스템에서ssh-agent
접속이 전송 됩니다.또, 상대측의 루트 유저가 신뢰할 수 있는 것도 중요합니다.이는 리모트상의 에이전트 소켓에 액세스 할 수 있기 때문입니다(단, 키는 로컬로 유지되지 않습니다).
실장
OpenSSH ssh-agent와 동일한 기능을 수행하는 프로그램은 여러 가지가 있으며 일부는 매우 다른 사용자 인터페이스를 사용합니다.예를 들어 PuTTY는 번들된 Pictions ssh-agent에서 그래피컬 사용자 인터페이스를 사용합니다.
대칭 키와 비대칭 키 모두에 키 에이전트 기능을 제공하도록 설계된 툴이 있습니다.이 툴들은 보통 애플리케이션인터페이스의 1개로 ssh-agent 기능을 제공합니다.예를 들어 GNOME 키링과 KWallet이 있습니다.
일부 모노리식 SSH 클라이언트에는 세션 전체에서 SSH 패스프레이즈를 기억하는 기능이 포함되어 있습니다.예를 들어 다음과 같습니다.시큐어 CRT
Apple macOS
macOS 운영체제에서는 2007년 버전 10.5의 Leopard 이후 ssh-agent가 통합되었습니다.이전에는 [1]ssh-agent의 서드파티 오픈소스 구현을 사용할 수 있었습니다.
Microsoft Windows
OpenSSH 기반 클라이언트 및 서버 프로그램은 버전 1803부터 Windows 10에 포함되어 있습니다.SSH 클라이언트와 키 에이전트는 디폴트로 이니블로 사용 가능하며 SSH 서버는 옵션인 [2][3]Feature-on-Demand 입니다.
레퍼런스
- ^ Dribin, Dave (21 August 2007). "SSHKeychain Warning". Dave Dribin's Blog.
- ^ "What's new for the Command Line in Windows 10 version 1803". 8 March 2018.
- ^ "Using the OpenSSH Beta in Windows 10 Fall Creators Update and Windows Server 1709". 15 December 2017.
외부 링크
- OpenSSH 릴리스의 ssh-agent man 페이지(OpenBSD 프로젝트의 일부).
- Mac OS X용 서드파티 대체 ssh-agent 프론트 엔드
- "SSH와 함께 ssh-agent 사용"
- SSH 에이전트 전송에 관한 그림 가이드
- 보안 측면