Как установить соединение ssh с postgresql через Java? [Дубликат]

ES6 предоставляет метод Array.from() , который создает новый экземпляр Array из объекта, подобного массиву или итерации.

let boxes = document.getElementsByClassName('box');

Array.from(boxes).forEach(v => v.style.background = 'green');
console.log(Array.from(boxes));
.box {
  width: 50px;
  height: 50px;
  margin: 5px;
  background: blue;
  display: inline-block;
}

Как вы можете видеть внутри фрагмента кода, после использования функции Array.from() вы можете манипулировать каждым элементом.

Это же решение с использованием jQuery.

$('.box').css({'background':'green'});
.box {
  width: 50px;
  height: 50px;
  margin: 5px;
  background: blue;
  display: inline-block;
}

2
задан Davide 12 June 2012 в 19:23
поделиться

3 ответа

Если это только для разработки, вы можете использовать пересылку порта ssh для доступа к базе данных, как если бы она была установлена ​​локально. Как переадресация портов включена, зависит от клиентского программного обеспечения, которое вы используете, у openssh, например, есть переключатель командной строки для него (-L):

ssh user@host -L localport:remotehost:remoteport

Эта команда сделает remoteport на remotehost , доступный только через host, доступный на localport на вашем компьютере.

4
ответ дан Joni 22 August 2018 в 11:55
поделиться
  • 1
    Вы также можете сообщить ssh, чтобы прослушать 0.0.0.0:localport вместо стандартного 127.0.0.1:localport, передав параметр -g (см. Справочную страницу). Вы НЕ должны делать это, если это вам действительно не нужно, но если вам это нужно, оно есть. Это раскрывает "remotehost: remoteport" через "& lt; хост & gt;: localport" к КАЖДЫЙ , который может связаться с & quot; & lt ;hosthost & gt;: yourport & quot; поэтому убедитесь, что & quot; remotehost: remoteport & quot; имеет сильную настройку безопасности и / или использует iptables на хосте пересылки для ограничения доступа к порту. – Craig Ringer 13 June 2012 в 01:52
  • 2
    Нет никакой реальной причины использовать этот подход только для развития. Добавление опции для вашего Java-приложения для запуска сеанса SSH для туннельного трафика очень просто. Перенос портов ssh очень прочный, хотя производительность при перегрузке может быть неудовлетворительной , поскольку туннелирование TCP в TCP смущает алгоритмы и алгоритмы контроля перегрузки TCP (http://sites.inka.de/bigred/devel/tcp-tcp.html) , Если вы не хотите запускать процесс, [JSch поддерживает переадресацию портов и туннелирование IP через собственный Java ssh. – Craig Ringer 13 June 2012 в 01:57

Если вы запустите «ssh», за которым следует любая команда, которую команда запускает на удаленном хосте. Таким образом, вы должны иметь возможность запускать предварительно обработанные запросы в пакетном режиме с помощью ssh.

Подумайте о том, чтобы выполнить обмен ключами и ключами, чтобы включить выполнение ssh без пароля.

Пример (это просто свалка список каталогов на ваш терминал):

ssh me@mybox ls
1
ответ дан kmarks2 22 August 2018 в 11:55
поделиться

Взгляните на другие предложенные ответы, поскольку они кажутся более легкими для выполнения того, что вам нужно.

Однако, если вам действительно нужно реализовать подачу команды с Java для вашего назначения в лаборатории, вы можете взять посмотрите библиотеку JSch (Java Secure Channel), найденную здесь: http://www.jcraft.com/jsch/ Примеры приведены здесь http://www.jcraft.com/jsch/ Примеры /

С его помощью вы можете отправлять команды ssh и выполнять любые операции с помощью API Java

2
ответ дан peshkira 22 August 2018 в 11:55
поделиться
  • 1
    Удобно, похоже, что JSch также может туннелировать IP, поэтому они могут даже получить доступ к Pg через сеанс SSH, если прямой доступ отключен или отфильтрован. – Craig Ringer 13 June 2012 в 01:58
  • 2
    Мы пытаемся это решение. Подсказка: Вручную работают решения: ssh user_lab@lucia.cs.unibo.it // & gt; введите пароль user_lab // psql -h golem -U ingsw12_03 ingsw12_03 // ingsw12_03 = & gt; (Access postresql server ok) // Это java-решение ": pastebin.com/QrM2UkHD org.postgresql.util.PSQLException: сервер запросил аутентификацию на основе пароля, но пароль не был предоставлен. Изменение строкового rhost = "golem" и urlAlfresco = "jdbc: postgresql: // golem:" + rport + "/ ingsw12_03"; org.postgresql.util.PSQLException: Не удалось выполнить соединение Причина: java.net.UnknownHostException: golem Как решить? :( – Davide 13 June 2012 в 10:14
  • 3
    ... @ DavideAguiari Я бы не публично публиковал ваше имя пользователя, хост и IP-адрес. – kmarks2 13 June 2012 в 14:08
  • 4
    Не волнуйся. Пользователи являются поддельными, а IP - высокозащищённым университетом. – Davide 13 June 2012 в 14:31
Другие вопросы по тегам:

Похожие вопросы: