2015-06-10 59 views
0

我正在执行远程机器中存在的jar file。当我从我的本地计算机上执行下面的命令,我得到错误:在远程机器上执行jar文件时出错

ssh -i /root/.ssh/pem_file [email protected][host_ip]:/home/user/folder1/java -cp jar1.jar -a option1 -e [email protected] -f TextFile.txt 

/home/user/folder1/就是jar file存在于远程machine.The错误我得到的位置是:

Unknown cipher type 'p' 

然后我抬起头来这个错误,并发现与ssh我们可能不需要它。所以,我从它删除-cp并执行以下命令:

ssh -i /root/.ssh/pem_file [email protected][host_ip]:/home/user/folder1/java jar1.jar -a option1 -e [email protected] -f TextFile.txt 

现在,我得到的错误是:

ssh: Could not resolve hostname [host name]:/home/user/folder1/java: nodename nor servname provided, or not known 

我怎样才能解决这个问题?

+0

你有没有通过'ssh'连接和运行中的一行代码'jar'呢? –

+0

@JonnyHenly是的。 – user2966197

+0

当你说'[host_ip]'是你括住'host_ip'在文字括号('[]')? –

回答

2

的命令应该传递给ssh主机通过空间不是冒号隔开后,像这样:

ssh -i /root/.ssh/pem_file [email protected][host_ip] /home/user/folder1/java -cp jar1.jar -a option1 -e [email protected] -f TextFile.txt 

如果你有在可能由当地的外壳被解析前发送至远程主机的命令部分(例如cd /tmp && lscat /file | uniq > some.log)应该用单引号括:

ssh -i /root/.ssh/pem_file [email protected][host_ip] 'cd /home/user/folder1 && java -jar jar1.jar -a option1 -e [email protected] -f TextFile.txt' 
+1

中以这种方式显示了该命令也应该用单引号括起来。 –

+0

@JonnyHenly不,并不总是需要。试着执行'ssh example.com java -version'。 – sainaen

+0

@JonnyHenly命令的哪一部分应该用引号括起来? – user2966197