Я отредактировал ответ @ Ivan, чтобы отобразить изображение «Без предварительного просмотра», если это не изображение:
function readURL(input) {
var url = input.value;
var ext = url.substring(url.lastIndexOf('.') + 1).toLowerCase();
if (input.files && input.files[0]&& (ext == "gif" || ext == "png" || ext == "jpeg" || ext == "jpg")) {
var reader = new FileReader();
reader.onload = function (e) {
$('.imagepreview').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}else{
$('.imagepreview').attr('src', '/assets/no_preview.png');
}
}
Во-первых, скопируйте сценарий в Машину B использование [user@machineA] $ scp
scp/path/to/script user@machineB:/home/user/path
Затем просто выполните сценарий
[user@machineA] $ ssh user@machineB "/home/user/path/script"
, Это будет работать при предоставлении исполняемого разрешения сценарию.
<hostA_shell_prompt>$ ssh user@hostB "ls -la"
, Который предложит Вам пароль, если Вы не скопировали свой открытый ключ пользователя хосты в authorized_keys файл на доме пользовательского каталога .ssh's. Это будет допускать passwordless аутентификацию (если принято как подлинный метод на конфигурации ssh сервера)
Принятие Вас означает, что Вы хотите сделать это автоматически от "локальной" машины, вручную не входя в "удаленную" машину, необходимо изучить расширение TCL, известное, как Ожидают, это разработано точно для этого вида ситуации. Я также предоставил ссылку на сценарий для входа в систему/взаимодействия через SSH.
Кроме того, не забывайте выходить из переменных, если Вы хотите взять их от узла назначения.
Это ловило меня в прошлом.
, Например:
user@host> ssh user2@host2 "echo \$HOME"
распечатывает/home/user2
, в то время как
user@host> ssh user2@host2 "echo $HOME"
распечатывает/home/user
Другой пример:
user@host> ssh user2@host2 "echo hello world | awk '{print \$1}'"
распечатывает "привет" правильно.
Можно использовать runoverssh:
sudo apt install runoverssh
runoverssh -s localscript.sh user host1 host2 host3...
-s
выполнения локальный сценарий удаленно
Полезные флаги:
-g
используют глобальный пароль для всех хостов (подсказка единого пароля)
-n
использование SSH вместо sshpass, полезного для аутентификации с открытым ключом
Если Машина A - это компьютер Windows, вы можете использовать Plink (часть PuTTY ) с параметром -m, и он будет выполнять локальный сценарий на удаленном сервере.
plink root@MachineB -m local_script.sh
Если Машина A является системой на основе Unix, вы можете использовать:
ssh root@MachineB 'bash -s' < local_script.sh
Вам не нужно копировать сценарий на удаленный сервер для его запуска.
ssh user@hostname ".~/.bashrc;/cd path-to-file/;.filename.sh"
настоятельно рекомендовал получить файл среды (.bashrc/.bashprofile/.profile). прежде, чем работать что-то в удаленном хосте, потому что цель и источник размещают переменные среды, может быть, задерживают.
Попробуйте запустить ssh user @ удаленный sh ./script.unx[1131827ght.