para essa chave em particular, adicione "command=" à chave, significa que não é possível executar qualquer outra coisa que não seja esse script; ele tem acesso limitado a esse servidor.
Eu altero este arquivo ~/.ssh/authorized_keys
no servidor remoto, mostrado abaixo, e quero executar um script quando o ssh para ele.
#Flyakite
command="/home/path/to/script" ssh-rsa my-key
agora, se eu executar ssh $USER@$HOST x1 x2 x3
, ele funcionará bem, no entanto, se eu executar scp path/to/file $USER@$HOST:path/to/file
, isso não funcionará ...
qual é o problema? Como posso fazer isso funcionar?
Internamente, scp
funciona executando um comando no servidor. Mas se você forçar seu sistema de destino a executar um comando diferente, scp
não poderá mais funcionar.
Você pode colocar um script no host de destino que reconheça um comando scp
e o execute, e se nenhum for reconhecido, o programa "padrão" será chamado.