Zapamiętywanie klucza ssh na windowsie

Pracując na Windowsie warto zaopatrzyć się w kilka niezbędnych narzędzi, które przeniosą nam kilka najlepszych rzeczy z Linuxa do świata Windowsa. Jednym z takich narzędzi jest Cmder, o którym pisał mój kolega. Narzędzie to, w połączeniu z MINGW, które instaluje pod spodem pozwoli nam na użycie niektórych poleceń bash-a w konsoli.

Jednym z takich narzędzi jest ssh-agent, dzięki któremu można zapamiętać wygenerowany klucz ssh w sesji i nie trzeba wpisywać hasła za każdym razem kiedy korzystamy z klucza. Na przykład, kiedy chcemy pobrać coś z gita a uwierzytelniamy się za pomocą klucza ssh, za każdym razem jesteśmy proszeni o hasło.

$ git pull
Enter passphrase for key '/c/Users/emil.pytka/.ssh/id_rsa':

Włączając ssh-agenta i dodając swój klucz jesteśmy pytani o hasło tylko w momencie dodawania tego klucza:

$ eval `ssh-agent -s`
$ ssh-add
Enter passphrase for /c/Users/emil.pytka/.ssh/id_rsa:
Identity added: /c/Users/emil.pytka/.ssh/id_rsa (/c/Users/emil.pytka/.ssh/id_rsa)

Kiedy już dodamy klucz, można go używać bez potrzeby wpisywania hasła. Niemniej jednak wpisywanie tych poleceń za każdym razem gdy odpalimy konsole jest trochę denerwujące, dlatego można zrobić prosty trik i dodać poniższy skrypt do pliku ~/.bash_profile.

# Set up ssh-agent
SSH_ENV="$HOME/.ssh/environment"

function start_agent {
    echo "Initializing new SSH agent..."
    touch $SSH_ENV
    chmod 600 "${SSH_ENV}"
    ssh-agent | sed 's/^echo/#echo/' >> "${SSH_ENV}"
    . "${SSH_ENV}" > /dev/null
    ssh-add
}

# Source SSH settings, if applicable
if [ -f "${SSH_ENV}" ]; then
    . "${SSH_ENV}" > /dev/null
    kill -0 $SSH_AGENT_PID 2>/dev/null || {
        start_agent
    }
else
    start_agent
fi

Dzięki temu przy uruchomieniu konsoli bash-owej zostaniemy zapytani o hasło do klucza ssh, ale już później możemy go używać do woli. Plusem jest też to, że agent będzie działał, również na innych konsolach, dopóki nie zamkniemy wszystkich okienek. Więc jeśli ktoś często używa uwierzytelnienia za pomocą ssh z Windowsa, to radzę dodać ten skrypt i oszczędzić sobie wpisywania hasła za każdym razem.

Internet mobilny z Play na OS X El Capitan

Ostatnio zmagałem się z konfiguracją internetu mobilnego w play. Trochę nad tym posiedziałem, więc chciałbym opisać rozwiązanie problemu, który może przytrafi się też komuś innemu. Otóż zakupiłem w salonie play model Huawei E3372h wraz ze starterem. Niestety nie doczytałem, że model ten wspiera systemy Mac OS X w wersji: 10.7, 10.8 i 10.9. Aplikacja play dołączona do modemu nie potrafiła sobie poradzić z El Capitan (10.11) i wyrzucała błąd:

The installer could not install the software because there was no software found to install. 

play_installation_failed

Przeczytałem kilka wpisów i nic nie pomagało, dopiero po jakimś czasie wpadłem na genialny pomysł aby wejść na stronę Huawei i sprawdzić sterowniki do tego modemu. Strona nie jest zbyt intuicyjna, ale udało się odnaleźć odpowiednią zakładkę. Po wejściu kilkamy link Update i dostajemy firmawre dla wszystkich wspieranych systemów. W moim przypadku pobrałem plik Stick Mobile Partner(for MAC10.11). Po instalacji tego programu, podpinamy nasz modem i program sam powinien wykryć konfiguracje i pozwolić na połączenie do internetu.