Executando comandos remotos através do SSH

0
igor@IgorReinCloud ~/dbhandler $ ssh [email protected]:/dbhandler/dbhandler < git pull
bash: git: No such file or directory
igor@IgorReinCloud ~/dbhandler $ git pull
remote: Counting objects: 4, done.
remote: Compressing objects: 100% (1/1), done.
remote: Total 4 (delta 3), reused 4 (delta 3), pack-reused 0
Unpacking objects: 100% (4/4), done.
From https://github.com/oneeyeman1/dbhandler
   667ca95..4a93607  master     -> origin/master
Updating 667ca95..4a93607
Fast-forward
 libdbwindow/databasecanvas.cpp | 1 +
 1 file changed, 1 insertion(+)

Isso significa que eu deveria criar algum tipo de script com apenas git pull para ser executado corretamente? Ou estou fazendo algo errado?

[EDITAR]

O que estou tentando alcançar é o seguinte:

Estou na minha caixa de Linux tentando se conectar a um dos meus laptops OSX (192.168.1.3). Este laptop Mac está executando o OSX 10.8. Até recentemente tudo estava funcionando bem, mas o GitHub mudou de SSL 1.0 para SSL 1.2 ou algo assim. E, claro, tentar realizar operações remotas do OSX agora está falhando.

No entanto, se eu tentar fazer isso no Linux, tudo funciona como esperado, já que a versão Linux do Git / OpenSSL é mais recente e, portanto, executar git pull / fetch / push / etc será bem-sucedido.

E então meu objetivo final aqui é fazer git pull para executar o git da máquina local (Linux) para atualizar o repositório que está localizado na máquina remota (OSX).

Espero que agora esteja claro o que eu gostaria de alcançar.

[/ EDIT]

    
por Igor 11.05.2018 / 14:47

1 resposta

6

< é um operador para redirecionar um arquivo como uma entrada. git pull é um comando, não um arquivo. Você pode fazer assim:

echo "git pull" | ssh [email protected]:/dbhandler/dbhandler

Ou da maneira correta:

ssh [email protected]:/dbhandler/dbhandler git pull

Veja as possíveis invocações em man ssh :

ssh (...) [user@]hostname [command]

Você tem um comando opcional lá.

Gostaria de saber se seu comando não precisa de uma correção adicional:

ssh [email protected] bash -c "cd /dbhandler/dbhandler && git pull"

^ Eu não acho que o seu caminho deve estar lá quando executar comandos. Com bash -c "some-commands" você pode contornar isso.

Editar:

Após o esclarecimento, parece que uma boa solução é montar a pasta do projeto do Mac na máquina Linux e usar git lá, enquanto faz tudo no Mac. Você pode fazer isso usando SSHFS : link

Minha solução preferida seria atualizar o git do seu Mac para que ele suporte o SSL 1.2. Se ainda não houver atualização para o Mac, você pode tentar compilá-lo e instalar a versão compilada.

por 11.05.2018 / 14:50

Tags