이 문서에서는 Cloud FTP 사용자가 SFTP 서버에 연결하는 데 사용할 수 있는 시큐어 셸 (SSH) 키를 업데이트하는 방법을 보여줍니다.
시작하기 전에
서버에 연결하는 데 사용할 각 SSH 키 쌍에서 사용자의 공개 키를 가져옵니다. 사용자는 최대 10개의 공개 키를 보유할 수 있습니다.
사용자에게 SSH 키 쌍이 없는 경우 다음 단계에 따라 키 쌍을 생성합니다.
SSH 키 쌍 생성
어떤 키 형식이 필요한가요?
필요한 키 형식은 SFTP 서버에 연결하는 데 사용하는 클라이언트에 따라 다릅니다. 자세한 내용은 지원되는 SFTP 클라이언트를 참조하세요.
PEM 형식
-
OpenSSH 키 쌍 (PEM 형식)을 만들려면
ssh-keygen유틸리티를 사용합니다.SFTP 서버에 연결할 클라이언트 머신에서 다음 명령어를 실행합니다.
ssh-keygen -t rsa -b 4096 -f ~/.ssh/KEY_PAIR_NAME
KEY_PAIR_NAME을sftp_user_key와 같은 키 쌍의 이름으로 바꿉니다. -
공개 키를 추출합니다.
cat ~/.ssh/KEY_PAIR_NAME.pub
PPK 형식
-
PuTTY 키 쌍 (PPK 형식)을 만들려면
PuTTYgen도구를 사용합니다.SFTP 서버에 연결할 클라이언트 머신에서 다음 명령어를 실행합니다.
puttygen -t rsa -b 4096 -o KEY_PAIR_NAME.ppk
KEY_PAIR_NAME을sftp_user_key와 같은 키 쌍의 이름으로 바꿉니다. -
공개 키를 추출합니다.
puttygen -L KEY_PAIR_NAME.ppk
-
필요한 역할
SFTP 사용자를 업데이트하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한FTP 관리자 (roles/ftp.admin) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
이 사전 정의된 역할에는 SFTP 사용자를 업데이트하는 데 필요한
ftp.users.update
권한이 포함되어 있습니다.
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한 을 부여받을 수도 있습니다.
SFTP 사용자의 SSH 키 업데이트
gcloud
SFTP 사용자의 SSH 키를 업데이트하려면
gcloud alpha storage ftp users update 명령어를 실행합니다.
아래의 명령어 데이터를 사용하기 전에, 다음을 바꿉니다.
- CREDENTIAL_NAME: 사용자 인증 정보를 식별하는 고유한 이름입니다.
- SSH_PUBLIC_KEY: OpenSSH 형식의 사용자 SSH 공개 키 본문입니다. 예를 들면
ssh-rsa AAAAB3NzaC1ycRexample...입니다. - USERNAME: SFTP 사용자의 사용자 이름입니다.
- LOCATION_ID: 서버의 위치입니다(예:
us-west1). - SERVER_ID: 서버 ID입니다.
사용자의 공개 키를 여러 개 구성하려면
credentials.json파일에 여러 인증 정보를 제공합니다.
다음 콘텐츠를 credentials.json 파일에 저장합니다.
[ { "credentialName": "CREDENTIAL_NAME", "credentialType": "PUBLIC_KEY", "sshPublicKeyBody": "SSH_PUBLIC_KEY" } ]
다음 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud alpha storage ftp users update USERNAME --location=LOCATION_ID \ --server=SERVER_ID --user-credentials-from-file=credentials.json
Windows(PowerShell)
gcloud alpha storage ftp users update USERNAME --location=LOCATION_ID ` --server=SERVER_ID --user-credentials-from-file=credentials.json
Windows(cmd.exe)
gcloud alpha storage ftp users update USERNAME --location=LOCATION_ID ^ --server=SERVER_ID --user-credentials-from-file=credentials.json
REST
SFTP 사용자의 SSH 키를 업데이트하려면
servers.users.patch 메서드를 사용합니다.
updateMask 쿼리 매개변수에서 userCredentials 필드를 제공합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 서버의 Google Cloud 프로젝트 ID입니다.
- LOCATION_ID: 서버의 위치입니다(예:
us-west1). - SERVER_ID: 서버 ID입니다.
- USERNAME: SFTP 사용자의 사용자 이름입니다.
- CREDENTIAL_NAME: 사용자 인증 정보를 식별하는 고유한 이름입니다.
- SSH_PUBLIC_KEY: OpenSSH 형식의 사용자 SSH 공개 키 본문입니다. 예를 들면
ssh-rsa AAAAB3NzaC1ycRexample...입니다.
사용자의 공개 키를 여러 개 구성하려면
userCredentials 목록에 여러 인증 정보를 제공합니다.
HTTP 메서드 및 URL:
PATCH https://ftp.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/servers/SERVER_ID/users/USERNAME?updateMask=userCredentials
JSON 요청 본문:
{
"userCredentials": [
{
"credentialName": "CREDENTIAL_NAME",
"credentialType": "PUBLIC_KEY",
"sshPublicKeyBody": "SSH_PUBLIC_KEY"
}
]
}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
응답은 장기 실행 작업을 식별합니다. 사용자가 업데이트되는 데 몇 초 정도 걸립니다.클라이언트 라이브러리
C#
Cloud FTP용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud FTP 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud FTP C# API 참고 문서를 참조하세요.
Cloud FTP에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
Cloud FTP용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud FTP 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud FTP Go API 참고 문서를 참조하세요.
Cloud FTP에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
Cloud FTP용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud FTP 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud FTP Java API 참고 문서를 참조하세요.
Cloud FTP에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
Cloud FTP용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud FTP 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud FTP Node.js API 참고 문서를 참조하세요.
Cloud FTP에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP
Cloud FTP용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud FTP 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud FTP PHP API 참고 문서를 참조하세요.
Cloud FTP에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Cloud FTP용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud FTP 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud FTP Python API 참고 문서를 참조하세요.
Cloud FTP에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
Cloud FTP용 클라이언트 라이브러리를 설치하고 사용하는 방법은 Cloud FTP 클라이언트 라이브러리를 참조하세요. 자세한 내용은 Cloud FTP Ruby API 참고 문서를 참조하세요.
Cloud FTP에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.