Главная страница
    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.065 c
15-1351354654
Дмитрий С
2012-10-27 20:17
2013.03.22
Сортировка папок и файлов наравне. windows 7


15-1335990605
Юрий
2012-05-03 00:30
2013.03.22
С днем рождения ! 3 мая 2012 четверг


15-1350333002
Юрий
2012-10-16 00:30
2013.03.22
С днем рождения ! 16 октября 2012 вторник


2-1340362171
xss22
2012-06-22 14:49
2013.03.22
при переходе с D7 на XE


6-1260461403
bob
2009-12-10 19:10
2013.03.22
Сетевая обработка данных





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский