diff --git a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/CreateServiceUser.java b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/CreateServiceUser.java
index 7e2e18a..a4ced57 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/CreateServiceUser.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/CreateServiceUser.java
@@ -132,11 +132,7 @@
       throw new BadRequestException("username must match URL");
     }
 
-    if (Strings.isNullOrEmpty(input.sshKey)) {
-      throw new BadRequestException("sshKey not set");
-    }
-
-    if (!SshKeyValidator.validateFormat(input.sshKey)) {
+    if (input.sshKey != null && !SshKeyValidator.validateFormat(input.sshKey)) {
       throw new BadRequestException("sshKey invalid.");
     }
 
diff --git a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/CreateServiceUserCommand.java b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/CreateServiceUserCommand.java
index 3f27975..4ee88ee 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/CreateServiceUserCommand.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/CreateServiceUserCommand.java
@@ -40,7 +40,7 @@
 
   @Option(
       name = "--ssh-key",
-      required = true,
+      required = false,
       metaVar = "-|KEY",
       usage = "public key for SSH authentication")
   private String sshKey;
diff --git a/web/gr-serviceuser-create.ts b/web/gr-serviceuser-create.ts
index 3ee2a70..eaf864b 100644
--- a/web/gr-serviceuser-create.ts
+++ b/web/gr-serviceuser-create.ts
@@ -58,9 +58,6 @@
   @query('#serviceUserEmailInput')
   serviceUserEmailInput!: HTMLInputElement;
 
-  @query('#serviceUserKeyInput')
-  serviceUserKeyInput!: HTMLInputElement;
-
   @property()
   plugin!: PluginApi;
 
@@ -94,9 +91,6 @@
   @property({type: String})
   email?: String;
 
-  @property({type: String})
-  key?: String;
-
   @property({type: Object})
   accountId?: AccountId;
 
@@ -141,20 +135,6 @@
           </section>
           ${this.renderEmailInputSection()}
         </fieldset>
-        <fieldset>
-          <section>
-            <span class="title">Public SSH key</span>
-            <span class="value">
-              <iron-autogrow-textarea
-                id="serviceUserKeyInput"
-                .bind-value="${this.key}"
-                placeholder="New SSH Key"
-                @bind-value-changed=${this.validateData}
-              >
-              </iron-autogrow-textarea>
-            </span>
-          </section>
-        </fieldset>
         <gr-button
           id="createButton"
           @click=${this.handleCreateServiceUser}
@@ -253,8 +233,7 @@
   private validateData() {
     this.dataValid =
       this.validateName(this.serviceUserNameInput.value) &&
-      this.validateEmail(this.serviceUserEmailInput?.value) &&
-      this.validateKey(this.serviceUserKeyInput.value);
+      this.validateEmail(this.serviceUserEmailInput?.value);
   }
 
   private validateName(username: String | undefined) {
@@ -275,19 +254,9 @@
     return false;
   }
 
-  private validateKey(key: String | undefined) {
-    if (!key?.trim()) {
-      return false;
-    }
-
-    this.key = key;
-    return true;
-  }
-
   private handleCreateServiceUser() {
     this.isAdding = true;
     const body: ServiceUserInput = {
-      ssh_key: this.key ? this.key.trim() : '',
       email: this.email ? this.email.trim() : '',
     };
     return this.plugin
