AWS EC2 Instance Connect
amazonaws · Cloud
Amazon EC2 Instance Connect enables system administrators to publish one-time use SSH public keys to EC2, providing users a simple and secure way to connect to their instances.
Authentication
Sample Requests
Pushes an SSH public key to the specified EC2 instance for use by the specified user. The key remains for 60 seconds. For more information, see Connect to your Linux instance using EC2 Instance Conn
Hover any highlighted part to learn what it does
| X-Amz-Target | AWSEC2InstanceConnectService.SendSSHPublicKey |
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/ec2-instance-connect/2018-04-02/#X-Amz-Target=AWSEC2InstanceConnectService.SendSSHPublicKey" \ -H "X-Amz-Target: AWSEC2InstanceConnectService.SendSSHPublicKey"
import requests
headers = {
"X-Amz-Target": "AWSEC2InstanceConnectService.SendSSHPublicKey"
}
response = requests.post(
"https://api.apis.guru/v2/specs/amazonaws.com/ec2-instance-connect/2018-04-02/#X-Amz-Target=AWSEC2InstanceConnectService.SendSSHPublicKey",
headers=headers,
)
print(response.json())const url = 'https://api.apis.guru/v2/specs/amazonaws.com/ec2-instance-connect/2018-04-02/#X-Amz-Target=AWSEC2InstanceConnectService.SendSSHPublicKey';
const response = await fetch(url, {
method: 'POST',
headers: {
'X-Amz-Target': 'AWSEC2InstanceConnectService.SendSSHPublicKey'
},
});
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
)
func main() {
targetURL := "https://api.apis.guru/v2/specs/amazonaws.com/ec2-instance-connect/2018-04-02/#X-Amz-Target=AWSEC2InstanceConnectService.SendSSHPublicKey"
req, _ := http.NewRequest("POST", targetURL, nil)
req.Header.Set("X-Amz-Target", "AWSEC2InstanceConnectService.SendSSHPublicKey")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/amazonaws.com/ec2-instance-connect/2018-04-02/#X-Amz-Target=AWSEC2InstanceConnectService.SendSSHPublicKey")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Post.new(uri)
req["X-Amz-Target"] = "AWSEC2InstanceConnectService.SendSSHPublicKey"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/ec2-instance-connect/2018-04-02/#X-Amz-Target=AWSEC2InstanceConnectService.SendSSHPublicKey";
$opts = ["http" => [
"method" => "POST",
"header" => implode("\r\n", [
"X-Amz-Target: AWSEC2InstanceConnectService.SendSSHPublicKey"
]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Pushes an SSH public key to the specified EC2 instance. The key remains for 60 seconds, which gives you 60 seconds to establish a serial console connection to the instance using SSH. For more information, see EC2 S
Hover any highlighted part to learn what it does
| X-Amz-Target | AWSEC2InstanceConnectService.SendSerialConsoleSSHPublicKey |
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/ec2-instance-connect/2018-04-02/#X-Amz-Target=AWSEC2InstanceConnectService.SendSerialConsoleSSHPublicKey" \ -H "X-Amz-Target: AWSEC2InstanceConnectService.SendSerialConsoleSSHPublicKey"
import requests
headers = {
"X-Amz-Target": "AWSEC2InstanceConnectService.SendSerialConsoleSSHPublicKey"
}
response = requests.post(
"https://api.apis.guru/v2/specs/amazonaws.com/ec2-instance-connect/2018-04-02/#X-Amz-Target=AWSEC2InstanceConnectService.SendSerialConsoleSSHPublicKey",
headers=headers,
)
print(response.json())const url = 'https://api.apis.guru/v2/specs/amazonaws.com/ec2-instance-connect/2018-04-02/#X-Amz-Target=AWSEC2InstanceConnectService.SendSerialConsoleSSHPublicKey';
const response = await fetch(url, {
method: 'POST',
headers: {
'X-Amz-Target': 'AWSEC2InstanceConnectService.SendSerialConsoleSSHPublicKey'
},
});
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
)
func main() {
targetURL := "https://api.apis.guru/v2/specs/amazonaws.com/ec2-instance-connect/2018-04-02/#X-Amz-Target=AWSEC2InstanceConnectService.SendSerialConsoleSSHPublicKey"
req, _ := http.NewRequest("POST", targetURL, nil)
req.Header.Set("X-Amz-Target", "AWSEC2InstanceConnectService.SendSerialConsoleSSHPublicKey")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/amazonaws.com/ec2-instance-connect/2018-04-02/#X-Amz-Target=AWSEC2InstanceConnectService.SendSerialConsoleSSHPublicKey")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Post.new(uri)
req["X-Amz-Target"] = "AWSEC2InstanceConnectService.SendSerialConsoleSSHPublicKey"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/ec2-instance-connect/2018-04-02/#X-Amz-Target=AWSEC2InstanceConnectService.SendSerialConsoleSSHPublicKey";
$opts = ["http" => [
"method" => "POST",
"header" => implode("\r\n", [
"X-Amz-Target: AWSEC2InstanceConnectService.SendSerialConsoleSSHPublicKey"
]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Postman Setup Guide
- See official documentation for authentication and setup.
What can you build with AWS EC2 Instance Connect?
AWS EC2 Instance Connect is a Cloud API. Developers commonly use cloud APIs for:
- provisioning and managing cloud infrastructure
- automating deployments and container orchestration
- monitoring uptime and performance metrics
- managing storage buckets and databases
- setting up auto-scaling and load balancing
No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. AWS EC2 Instance Connect is free to use, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide