Создайте прокси SOCKS5 с помощью AWS EC2
Я хочу создать прокси-сервер SOCKS5 с сервера AWS EC2. Я использую это руководство: https://github.com/vifreefly/ec2_proxies Мой прогресс в руководстве дошел до того, что сценарий создает сервер, добавляет ключи SSH в AWS, затем переходит к созданию сервера GOPROXIE и в этот момент что-то пошло не так.
aws_instance.ProxyNode[0]: Destroying... [id=i-0de2fc82d9c85cb74]
aws_instance.ProxyNode[0]: Still destroying... [id=i-0de2fc82d9c85cb74, 10s elapsed]
aws_instance.ProxyNode[0]: Still destroying... [id=i-0de2fc82d9c85cb74, 20s elapsed]
aws_instance.ProxyNode[0]: Still destroying... [id=i-0de2fc82d9c85cb74, 30s elapsed]
aws_instance.ProxyNode[0]: Still destroying... [id=i-0de2fc82d9c85cb74, 40s elapsed]
aws_instance.ProxyNode[0]: Destruction complete after 40s
aws_instance.ProxyNode[0]: Creating...
aws_instance.ProxyNode[0]: Still creating... [10s elapsed]
aws_instance.ProxyNode[0]: Provisioning with 'file'...
.....
aws_instance.ProxyNode[0]: Still creating... [5m10s elapsed]
Error: timeout - last error: ssh: handshake failed: ssh: unable to authenticate, attempted methods [no public key], no supported methods remain
provider "aws" {
version = "~> 2.7"
access_key = "${var.AWS_ACCESS_KEY_ID}"
secret_key = "${var.AWS_SECRET_ACCESS_KEY}"
region = "${var.AWS_DEFAULT_REGION}"
}
resource "aws_security_group" "ec2_proxies_sg" {
name = "ec2_proxies_sg"
# Open up incoming ssh port
ingress {
from_port = 22
to_port = 22
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
# Open up outbound internet access
egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}
# Open up incoming traffic for proxy
ingress {
from_port = "${var.PROXY_PORT}"
to_port = "${var.PROXY_PORT}"
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
}
# https://www.terraform.io/docs/providers/aws/r/key_pair.html
resource "aws_key_pair" "ec2_key" {
key_name = "${var.KEY_PAIR_NAME}"
public_key = "${file("${var.PUBLIC_KEY_PATH}")}"
}
resource "aws_instance" "ProxyNode" {
count = "${var.AWS_INSTANCES_COUNT}"
ami = "${var.AWS_INSTANCE_AMI}"
instance_type = "${var.AWS_INSTANCE_TYPE}"
key_name = "${aws_key_pair.ec2_key.key_name}"
vpc_security_group_ids = ["${aws_security_group.ec2_proxies_sg.id}"]
tags = {
Name = "Proxy Node ${count.index}"
}
provisioner "file" {
source = "setup.sh"
destination = "/home/${var.AWS_INSTANCE_USER_NAME}/setup.sh"
}
provisioner "remote-exec" {
inline = [
"chmod +x ./setup.sh",
"sudo ./setup.sh ${var.AWS_INSTANCE_USER_NAME} ${var.PROXY_TYPE} ${var.PROXY_PORT} ${var.PROXY_USER} ${var.PROXY_PASSWORD}",
]
}
connection {
type = "ssh"
host = self.public_ip
user = "${var.AWS_INSTANCE_USER_NAME}"
private_key = "${file("${var.PRIVATE_KEY_PATH}")}"
}
}
output "instances" {
value = "${aws_instance.ProxyNode.*.public_ip}"
}
Я пытаюсь изменить ключ SSH папки. Ручное подключение к серверу AWS EC2, и я подключаюсь вручную с помощью ключа SSH. Попробуйте сменить имя пользователя на ec2-user, Ubuntu и root.