Главная страница
    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.07 c
15-1336126916
AV
2012-05-04 14:21
2013.03.22
Можно ли вернуть билет в кинотеатре, т.к. фильм не нравится?


2-1337012422
Дмитрий2
2012-05-14 20:20
2013.03.22
Пошаговое выполнение программы


2-1331751635
White
2012-03-14 23:00
2013.03.22
Сбивается БД


15-1328819405
Юрий
2012-02-10 00:30
2013.03.22
С днем рождения ! 10 февраля 2012 пятница


2-1329298711
ixen
2012-02-15 13:38
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский