Чтобы дать представление об этой проблеме, у нас в офисе есть несколько коробок Unix. И у них есть примеры использования weblogic на них. Кроме того, у нас есть только SSH-доступ к Unix-системам.
Итак, вопрос в том, есть ли способ программно выполнять команды Unix, не входя на серверы Unix вручную? Я знаю о JSCH, который используется для Java-SSH соединений. Я просто ищу лучший способ сделать это.

Детали sshd_config
Они включают только разницу.Отдыхайте так же, как Сехе, упомянутый в комментариях.

    AllowTcpForwarding no
Banner /etc/issue
Ciphers aes128-ctr,aes128-cbc,arcfour,3des-cbc,blowfish-cbc
ClientAliveCountMax 0
ClientAliveInterval 900
HostBasedAuthentication no
HostKey /etc/ssh/ss_hhost_rsa_key
LoginGraceTime 120
MaxAuthTries    3
PrintMotd yes
PubkeyAuthentication yes
RSAAuthentication yes
Subsystem       sftp    /usr/lib/ssh/sftp-server

3 ответа3

0

Используйте аутентификацию по ключу, чтобы иметь возможность ssh без пароля. Посмотрите на ssh-keygen чтобы сгенерировать ключ на клиенте, и на ssh-copy-id server чтобы скопировать его на сервер. ssh server должен работать без пароля.

Тогда просто выполнить ssh server command программно.

0

ssh keygen не должен быть сложным

Если у вас есть права входа в систему, то обычно у вас есть все необходимые разрешения

Используйте PuttyGen.exe на стороне Windows (если это окна), иначе ssh-keygen сделает


Добавьте открытый ключ (в формате ssh) к авторизованному ключу (в вашей домашней папке, чтобы у вас были разрешения).

Единственная причина, почему это не сработает,

  • с (плохими) старыми версиями sshd
  • когда sshd_config явно запрещает аутентификацию с открытым ключом - в этом случае ... Ну, вы должны поговорить с администраторами (общение всегда сложнее, чем технологические приемы :))

Информация

На моем сервере OpenSolaris у меня есть следующий sshd_config

sehe@osol147:/etc/ssh$ grep -v ^# sshd_config  | sort -u

GatewayPorts no
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_rsa_key
IgnoreRhosts yes
KeepAlive yes
KeyRegenerationInterval 3600
ListenAddress ::
LoginGraceTime 600
LogLevel info
MaxAuthTries    6
MaxAuthTriesLog 3
PAMAuthenticationViaKBDInt yes
PasswordAuthentication yes
PermitEmptyPasswords no
PermitRootLogin yes
Port 22
PrintMotd no
Protocol 2
RhostsAuthentication no
RhostsRSAAuthentication no
RSAAuthentication yes
ServerKeyBits 768
StrictModes yes
Subsystem       sftp    internal-sftp
SyslogFacility auth
X11DisplayOffset 10
X11Forwarding yes
X11UseLocalhost yes
0

Проверьте это . У него есть много способов использовать Python для SSH.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .