Archiwum dla tagu putty

Wysłany dnia 09 września 2010 o godzinie 17:22. Skomentuj!, kategorie: Kingdoms Clash.NET , tagi: .

Używając PuTTY jako klienta SSH mamy kilka możliwości autoryzacji, np. login + hasło, klucz publiczny. Używając drugiego wymienionego przeze mnie musimy wskazać klientowi jakoś nasz klucz prywatny. Możemy to zrobić dwojako: tworząc sesje(używając „graficznego” klienta – Connection->SSH->Auth->Private key file for authentication bądź przełącznika „-i” uruchamiając plink z linii komend) lub dodając klucz do programu Pageant, który jest agentem autoryzacji SSH – przechowuje klucze i udostępnia je innym programom z pakietu. To drugie rozwiązanie jest o tyle dobre, że nie musimy zmieniać za każdym razem ustawień sesji(czy też zapisywać ich).

Pageant ma jedną, bardzo denerwującą wadę – nie zapisuje listy kluczy, które mu się doda. Na nasze szczęście można go uruchomić z linii poleceń i jako argumenty podać klucze, które chcemy by „dodały się” automatycznie.

Dobrze by było, gdyby nie trzeba było hardkodować listy kluczy – nic nie stoi na przeszkodzie, wystarczy prosty skrypt(wybrałem PowerShell):

 param(
    [string]$SSHKeysLocation = [System.Environment]::GetFolderPath([System.Environment+SpecialFolder]::MyDocuments) + "\SSH"
    );

if(![System.IO.Directory]::Exists($SSHKeysLocation))
{
    Write-Host ("Folder {0} nie istnieje! " -f $SSHKeysLocation);
    return;
}
$keys = Get-ChildItem -Path $SSHKeysLocation -Filter "*.ppk"
$keysList = [String]::Empty;
foreach($key in $keys)
{
    $keysList += $key.FullName + " ";
}
Write-Host "Startujemy Pageant z listą kluczy: "$keysList;

$startInfo = New-Object System.Diagnostics.ProcessStartInfo;
$startInfo.FileName = "pageant";
$startInfo.Arguments = $keysList;
$startInfo.UseShellExecute = $false;
$startInfo.CreateNoWindow = $true;
[System.Diagnostics.Process]::Start($startInfo) | Out-Null;

Za pierwszy parametr podajemy ścieżkę do folderu z naszymi kluczami(domyślnie: Moje Dokumenty/SSH), które mają rozszerzenie „ppk”(domyślne rozszerzenie kluczy generowanych przez PuTTYgen).

Teraz wystarczy dodać jeszcze prostszy skrypt(tym razem Batch) do autostartu by Pageant uruchamiał się sam:

powershell -Command . "(ścieżka do skryptu)"
Wysłany dnia 08 września 2010 o godzinie 19:56. Komentarzy: 1, kategorie: Kingdoms Clash.NET , tagi: , , .

Zaczynając pracę nad projektem postanowiłem, że nie będę korzystał z SVN, którego używałem do tej pory(głównie lokalnie). Stwierdziłem, że użyję rozproszonego systemu kontroli wersji. Kiedyś, w zamierzchłych czasach, używałem przez chwilę Hg lecz nie potrafiłem się do niego wtedy przyzwyczaić. Teraz, z większym bagażem doświadczenia, stanąłem przed wyborem: Git albo Hg. Miałem duży problem, gdyż oba systemy są podobne i opierają się na podobnych założeniach. Wybór, czysto losowy(z braku czasu nie testowałem Mercuriala dogłębniej), padł na Git. Czytaj dalej…