SSH 인증서 받기
SSH 인증서 받기
샌드박스에 접근하기 위한 단기 SSH 인증서를 요청해 봐요. 개인 키는 머신에 두고 공개 키만 Docker로 보내세요.
출처: 문서
본문
인증된 클라이언트, 샌드박스 이름, SSH 공개 키가 필요해요. SSH 도구로 키 쌍을 생성할 수 있습니다. 없다면 만들어 주세요.
인증서 요청
샌드박스 이름과 공개 키를 전달하세요. 반환된 인증서를 SSH 클라이언트가 기대하는 인증서 파일 형식으로, 일치하는 개인 키와 함께 저장하세요.
응답은 샌드박스의 연결 세부 정보를 제공해요. 호스트 이름이나 포트를 추측하는 대신 그것을 사용하세요. 예시는 그 세부 정보를 반환해요. SSH 프로세스를 시작하지는 않아요.
인증서는 만료돼요. 필요할 때 새 인증서를 요청하고, 개인 키와 인증서를 저장소에서 제외하세요. SSH 클라이언트 없이 프로그래밍 방식으로 명령을 실행하려면 processes를 사용하세요.
핵심 코드:
return sandbox.ssh.issueCertificate({
publicKey,
ttlMs: lifeSeconds * 1_000,
});
완전한 TypeScript 예시: ssh/certificate.ts
import type { Sandboxes } from '@docker/sandboxes';
export async function issueSSHCert(
client: Sandboxes,
sandboxName: string,
publicKey: string,
lifeSeconds: number,
) {
const sandbox = await client.get(sandboxName);
return sandbox.ssh.issueCertificate({
publicKey,
ttlMs: lifeSeconds * 1_000,
});
}