我是云计算的新手,我试图使用SSH来控制我的VM实例,但是当我使用命令(与debug一起使用)
gcloud computing ssh my-instance-name --verbosity = debug
显示错误
调试:(gcloud.compute.ssh)[/ usr / bin / ssh]退出,返回代码 [255]。追溯(最近一次通话):文件 “ /google/google-cloud-sdk/lib/googlecloudsdk/calliope/cli.py”行 983,在执行中 资源= calliope_command.Run(cli = self,args = args)文件“ /google/google-cloud-sdk/lib/googlecloudsdk/calliope/backend.py”, 784行,在运行中 资源= command_instance.Run(args)文件“ /google/google-cloud-sdk/lib/surface/compute/ssh.py”,第262行,在 跑 return_code = cmd.Run(ssh_helper.env,force_connect = True)文件“ /google/google-cloud-sdk/lib/googlecloudsdk/command_lib/util/ssh/ssh.py”, 行1256,在运行中 引发CommandError(args [0],return_code = status)CommandError:[/ usr / bin / ssh]退出,返回码为[255]。错误: (gcloud.compute.ssh)[/ usr / bin / ssh]退出,返回码为[255]。
我尝试解决此链接中的问题,但不起作用 https://groups.google.com/forum/#!topic/gce-discussion/O-c10TM4ZLM
答案 0 :(得分:0)
这不是一个具体的答案,但我认为一开始您应该通过以下方式设置项目:
#include<bits/stdc++.h>
using namespace std;
#define M 1000000
bool marked[M];
bool sieve(int n)
{
for (int i = 3; i * i <= n; i += 2)
{
if (marked[i] == false)
{
for (int j = i * i; j <= n; j += i + i)
{
marked[j] = true;
}
}
}
}
bool isPrime(int n)
{
if (n < 2)
return false;
if (n == 2)
return true;
if (n % 2 == 0)
return false;
return marked[n] == false;
}
int main()
{
int i,j,k,n,m;
cin>>n;
for(i=0; i<n; i++)
{
cin>>m;
if(isPrime(m))
cout<<"prime"<<endl;
else
cout<<"N"<<endl;
}
}
然后
gcloud config set project PROJECT_ID
此链接将很有用:
答案 1 :(得分:0)
SSH错误代码255是GCP返回的常规错误。您可以尝试以下选项之一。
1。等待几分钟,然后重试。可能是
:实例尚未完成启动。
SSH密钥的元数据尚未完成传播到项目或实例。
2。确认对实例的SSH访问没有被防火墙阻止。
gcloud compute firewall-rules list | grep "tcp:22"
如有必要,创建防火墙规则以允许给定VPC网络,子网或实例标签使用TCP 22。
gcloud compute firewall-rules create ssh-allow-incoming --priority=0 --allow=tcp:22 --network=[VPC-Network]
3。确保根卷没有磁盘空间不足。磁盘空间不足时,console log中将显示以下消息:
...设备上没有剩余空间...
... google-accounts:错误调用响应处理程序的异常。 [Errno 2]在['/ tmp','/ var / tmp', '/ usr / tmp','/']...
4。确保实例尚未用完内存
5。验证是否为project或instance设置了临时SSH密钥元数据。
最后,您可以遵循他们的任何supported或third-party方法
答案 2 :(得分:0)
假设您具有正确的IAM权限,那么GCP可以更轻松且更容易地使用OSlogin ssh进入实例,而不是管理ssh密钥
在云外壳中,输入
gcloud compute --project PROJECTID project-info add-metadata --metadata enable-oslogin=TRUE
这将在项目中的所有实例上启用OSLogin,而不是使用ssh密钥,gcp将检查您的IAM权限并基于这些权限进行身份验证。
如果您不是项目所有者,请确保您具有Cloud IAM中的compute.osloginviewer或管理员权限
一旦启用,请使用发布的命令再次尝试通过SSH进入实例。