我正在尝试将本地文件复制到AWS EC1或EC2。
我的详细设置。
创建了两个EC2实例。
从AWS领事处获取.pem文件(私钥)。
从.pem文件生成的私钥(步骤2)。
能够使用步骤3中生成的私钥连接EC1和EC2。
通过复制EC1和EC2服务器中的.pem文件,可以在EC1和2 aws服务器之间复制文件。
现在,我要将文件从本地计算机复制到AWS EC1和EC2服务。
但是在尝试执行以下命令时(使用公共DNS):
var moves, result;
moves = {
rock: 0,
paper: 1,
scissors: 2,
};
result = {
win: 0,
tie: 0,
lose: 0
};
function convertMoves() {
playerSelection = prompt('Please choose rock, paper, or scissors').toLowerCase();
return moves[playerSelection];
}
function computerPlay() {
var movesValues = Object.values(moves);
var r = Math.random()
var random = Math.floor(r * movesValues.length);
//console.log(r,movesValues.length,random)
return movesValues[random];
}
function playRound() {
// call the *choice* functions
var c = computerPlay()
var p = convertMoves()
console.log(c,p) // *** debugging ***
var processResult = (3 + c - p) % 3;
if (!processResult) {
++result.tie;
console.log('tie');
} else if (1 == processResult) {
++result.lose;
console.log('You lost');
} else {
++result.win;
console.log('You won');
}
return function() {
var rounds = 0;
var resultValues = Object.values(result);
for (var i = 0; i < resultValues.length; i++) {
rounds += resultValues[i];
}
console.log("rounds:",rounds)
if (rounds !== 5) {
playRound()(); // *** recursion ***
}
return result;
}
}
console.log(playRound()());
遇到错误
权限被拒绝(公钥)
当我使用私有DNS时:
ssh ubuntu@ec2-18-222-170-204.us-east-2.compute.amazonaws.com
得到以下错误:
ssh:无法解析主机名ip-172-31-43-162.us-east-2.compute.internal:名称或服务未知
我应该怎么做才能解决此问题或使其正常工作?
输出
ssh ubuntu@ip-172-31-43-162.us-east-2.compute.internal
答案 0 :(得分:-1)
第一件事,ssh ubuntu@ip-172-31-43-162.us-east-2.compute.internal
仅在 VPC 内有效,因为它的私有IP ,在您连接之前,本地系统将永远无法解析此DNS通过该VPC的某些VPN。
这不是安全组问题,您的实例可以访问。
您应该发布ssh ubuntu@ec2-18-222-170-204.us-east-2.compute.amazonaws.com
的调试日志,您可以使用ssh -v ubuntu@ec2-18-222-170-204.us-east-2.compute.amazonaws.com
来获取调试日志
但是我确定它不是从正确的位置选择pem
文件。两种可能的原因
chmod 400 your.pem
,然后尝试连接在ssh命令中指定密钥
ssh -i path_to_key/private.pem ubuntu@ec2-18-222-170-204.us-east-2.compute.amazonaws.com
您还可以获取AWS ec2 console的ssh命令。 ->选择实例,然后单击连接,复制命令并尝试连接。