Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

никто по SSH не соединялся? В частности, через cryptlib   Найти похожие ветки 

 
AV ©   (2012-07-11 10:58) [0]

Пишу как в примере

function TForm1.SSH_Client(Server, Userid, Pass: string): TCryptSession;
begin
 result := TCryptSession.Create(CRYPT_SESSION_SSH);
 with result do begin
   ServerName := Server;  { set hostname or IP address }
   UserName := Userid;    { set user identification }
   Password := Pass;      { set password }
 end;
 try
   result.Activate;       { establish SSH connection to server }
 except
   on E: ECryptError do
   begin
     mmo1.Lines.Add(E.Message);
     FreeAndNil(result);
   end;
 end;
end;

Получаю: cryptSetAttribute: Data has not been initialised

последним что вызывается в адаптированном под delphi юните
procedure TCryptObject.SetAttribute(const attributeType: CRYPT_ATTRIBUTE_TYPE; const value: Integer = CRYPT_UNUSED);
var
 err: Integer;
begin
 err := cryptSetAttribute(CryptHandle, attributeType, value);
 if err < 0 then // -11 в моем случае
   raise ErrCodeTab[FindCode(err)].ex.Create(err, "cryptSetAttribute");

функция определена как
function cryptSetAttribute( const cryptHandle: CRYPT_HANDLE;
 const attributeType: CRYPT_ATTRIBUTE_TYPE;
 const value: Integer ): Integer;
{$IFDEF WIN32} stdcall; {$ELSE} cdecl; {$ENDIF} external cryptlibname;

, где cryptlibname = "cl32.dll"
собственно и есть сама dll, которую нагуглил

Что не так делаю?
------------------------------------------
Или можно как-то иначе по ssh соединится, покомандовать?


 
AV ©   (2012-07-11 12:04) [1]

первый вопрос снимается,
отключил EUREKALOG - заработало
EUREKA не дает проинициализироваться, видимо, чему -то там до конца


 
AV ©   (2012-07-11 12:35) [2]

все, заработало
Если кому надо было/будет по SSH линуксами покомандовать
1. отсюда http://cryptlib.sogot.de/delpas.html#Downloading
берем
DelphiCryptlib.pas
cryptlib.pas
cl32.dll
2.procedure TForm1.btn1Click(Sender: TObject);
var
 SSH: TCryptSession;
//  Data: PAnsiChar;
 Data: array [0..255] of AnsiChar;
 LenData: Integer;
 BytePushed: Integer;
 BytePoped: Integer;
begin
 mmo1.Lines.Add("--------------");  // инициализация
 cryptInit;

//  SSH := SSH_Client("ip", "user", "pass"); // код выше
 if SSH = nil then
   Exit;
 mmo1.Lines.Add( "Ok create SSH");
 Sleep(1000);

 mmo1.Lines.Add("------FlushData--------");
 SSH.FlushData; // из доки понял, что обязателен вызов перед использованием PopData

 mmo1.Lines.Add("------PopData--------");
 Sleep(1000);
 LenData := 255;
 BytePoped := SSH.PopData(addr(Data), LenData);
 mmo1.Lines.Add(Data);  // тут приветствие читаем
 mmo1.Lines.Add(IntToStr(BytePoped));

 mmo1.Lines.Add("------PushData--------"); // спрашиваем дату у сервера
 Data := "date"#13;
 LenData := 5;
 SSH.PushData(addr(Data), LenData, BytePushed);
 mmo1.Lines.Add(IntToStr(BytePushed));

 mmo1.Lines.Add("------FlushData--------");  // читаем дату у сервера
 SSH.FlushData;
 mmo1.Lines.Add("------PopData--------");
 Sleep(1000);
 LenData := 255;
 BytePoped := SSH.PopData(addr(Data), LenData);
 mmo1.Lines.Add(Data);
 mmo1.Lines.Add(IntToStr(BytePoped));

 FreeAndNil(SSH);          // закругляемся
 cryptEnd;
 mmo1.Lines.Add("--------------");
end;


 
Сергей М. ©   (2012-07-12 15:54) [3]


> по SSH линуксами покомандовать


чей-то только линуксами ?

меняем шило

Data := "date"#13;
LenData := 5;

на мыло

Data := "date /t"#13#10;
LenData := 9;

и командуем виндами



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.076 c
15-1339143768
Scott Storch
2012-06-08 12:22
2013.03.22
знатокам английского


2-1333617342
gadget
2012-04-05 13:15
2013.03.22
Сервер WordApplication


3-1286090959
shadowrun
2010-10-03 11:29
2013.03.22
Ламер и dbexpmys.dll


2-1330431730
Drowsy
2012-02-28 16:22
2013.03.22
Не показывается модальная форма.


6-1258205484
Obsidiorex
2009-11-14 16:31
2013.03.22
Найти определенное слово в окне webbrowser





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский