有没有办法保护附加文本到远程机器上的文件?没有实际复制文件.
目前,我需要做一个安全的副本,然后猫和追加.有什么方法可以直接安全附加?
任何帮助都很棒,谢谢.
我在bash脚本中包含了简单的Expect命令(我知道我可能只是在编写一个纯Expect脚本,但是我想让它在bash中运行)。
脚本如下:
#!/bin/bash
OUTPUT=$(expect -c '
spawn ssh mihail911@blah.org
expect "password:"
send "dog\r"
')
Run Code Online (Sandbox Code Playgroud)
切换到上述地址后,它将mihail911's password:在提示符下返回某种形式的表单,因此我认为我的期望行是有效的。当我运行此脚本时,我的脚本不会打印任何内容。它甚至不显示password:提示。通常,即使我手动提供了错误的密码,我也会收到Incorrect password-type响应提示。为什么什么都没有打印,如何使脚本正确执行?我已经尝试使用该-d标志进行调试,并且似乎表明至少第一个期望提示符已正确匹配。
另外,我应该在OUTPUT变量中期望什么值?当我使用echo此变量时,它只是简单地先输出脚本期望部分的第一个命令,然后打印mihail911's password:。这是应该打印的内容吗?
我正在尝试运行一个bsh脚本ssh到远程主机并停止正在运行的单个docker容器.
#!/usr/bin/env bash
set -e
ssh <machine> <<EOF
container=$(docker ps | awk 'NR==2' | awk '{print $1;}')
docker stop $container
EOF
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误:
stop.sh: line 4: docker: command not found
Run Code Online (Sandbox Code Playgroud)
当我手动执行此操作(ssh到机器,运行命令)一切都很好,但是当尝试通过脚本执行此操作时,我得到错误.我猜我的命令替换语法是不正确的,我搜索并尝试了各种报价等但无济于事.
谁能指出我哪里出错?
$ rhc apps
RSA 1024 bit CA certificates are loaded due to old openssl compatibility
dev @ http://
...
prod @ http://
$ rhc ssh prod
RSA 1024 bit CA certificates are loaded due to old openssl compatibility
Application 'prod' not found.
$ rhc ssh --app dev
RSA 1024 bit CA certificates are loaded due to old openssl compatibility
Application 'dev' not found.
Run Code Online (Sandbox Code Playgroud)
我不知道还能说些什么.我不想删除我的ssh密钥,因为我在其他地方使用它们; 加上错误似乎与ssh键无关.
我发现我可以登录我创建的应用程序,但不能登录与我共享的应用程序.即使使用为该app(rhc ssh 565fc20989f5cfec5f111012@...)提供的ssh地址:
$ rhc ssh 565fc20989f5cfec5fddfd12@prod-xyzdomain.rhcloud.com
RSA 1024 bit CA certificates are …Run Code Online (Sandbox Code Playgroud) 当我简单地使用Grape抓取groovy-ssh插件时,会抛出异常.我使用这里的代码:https://github.com/int128/groovy-ssh
@Grab('org.hidetake:groovy-ssh:1.5.0')
@Grab('ch.qos.logback:logback-classic:1.1.2')
def ssh = org.hidetake.groovy.ssh.Ssh.newService()
println "Test"
BUG! exception in phase 'conversion' in source unit 'delete.groovy' # Licensed to the Apache Software Foundation (ASF) under one or more
Caused by: java.lang.ClassNotFoundException: # Licensed to the Apache Software Foundation (ASF) under one or more
Run Code Online (Sandbox Code Playgroud)
有谁见过这个错误?
我有一个7个节点的集群(All Centos 7 OS).主节点是maercher5,其余节点是从节点.我需要在主节点上设置无密码ssh到从节点以运行MPI程序.NFS将主节点从主节点共享到所有从节点.我按照本教程从主节点到从节点执行无密码ssh.我在所有机器上都有相同的UID和GID.由于在所有节点上只共享一个ssh文件夹.ssh文件夹的权限是:
$ ls -al $HOME/.ssh
total 28
drwx------. 2 sarah sarah 76 Apr 16 21:17 .
drwx------. 17 sarah sarah 4096 Apr 17 13:51 ..
-rw-------. 1 sarah sarah 11895 Apr 16 21:17 authorized_keys
-rw-------. 1 sarah sarah 1679 Apr 3 00:55 id_rsa
-rw-r--r--. 1 sarah sarah 411 Apr 10 14:24 id_rsa.pub
-rw-------. 1 sarah sarah 2265 Apr 10 13:58 known_hosts
Run Code Online (Sandbox Code Playgroud)
节点可以很好地相互ping通.Marcher5是主节点.
[sarah@marcher5]$ cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 …Run Code Online (Sandbox Code Playgroud) 我正试图在文件中的"rezhome"之前添加一行,如下所示:
...
app3-reservation, \
app4-reservation, \
app5-reservation, \
rezhome
Run Code Online (Sandbox Code Playgroud)
当我使用以下命令在本地运行时它工作正常.
sed -i 's/rezhome/app5-reservation, \\\n&/' grouphost.cfg
Run Code Online (Sandbox Code Playgroud)
但是使用ssh反斜杠并没有转义,我得到了低于结果
ssh localhost "sed -i 's/rezhome/app5-reservation, \\\n&/' /path/grouphost.cfg"
...
app3-reservation, \
app4-reservation, \
app5-reservation, \nrezhome
Run Code Online (Sandbox Code Playgroud)
有什么帮助吗?
我有一个脚本需要在我的subversion存储库中的各个分支之间切换才能进行复制.这导致必须重复输入密码.现在,一旦我完成了这几次,我就完成了我的脚本.我陷入困境,让我非常愤怒.
我曾经用过expect来提示输入密码.我希望学习如何期望一次又一次地运行多个密码提示,直到任务完成.
到目前为止,这就是我所拥有的.
#!/usr/bin/expect
global env
set timeout 10
spawn command that requires password
expect "^user"
send "password\r"
#i need this to repeat over and over until the prompt stops showing up.
Run Code Online (Sandbox Code Playgroud)
谢谢,麻烦您了.
我从Mac终端Bash Shell登录到我的服务器并且unzip命令无法正常工作我不断收到以下消息:
bash: unzip: command not found
Run Code Online (Sandbox Code Playgroud)
我可以通过SSH从Mac终端解压缩文件吗?
我正在尝试使用MINGW64在Windows上克隆一个repo,我得到了这个错误.
$ git clone ssh://user@server/myproject && scp -p -P XXXXX user@server:hooks/commit-msg myproject/.git/hooks/
Cloning into 'myproject'...
Unable to negotiate with XXX.XXX.XX.XXX: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
fatal: Could not read from remote repository.
Run Code Online (Sandbox Code Playgroud)
*已经检查文档http://www.openssh.com/legacy.html和在岗的解决方案http://www.openssh.com/legacy.html并仍然得到错误.
已将此添加到我的配置文件主机somehost.example.org KexAlgorithms + diffie-hellman-group1-sha1
任何帮助?