четверг, 9 июля 2015 г.

[HOWTO POSH] Как узнать имя пользователя по его SID

$objSID = New-Object System.Security.Principal.SecurityIdentifier("<SID>")
$objUser = $objSID.Translate( [System.Security.Principal.NTAccount])
$objUser.Value

[HOWTO POSH] Как узнать дату последнего входа пользователя в домен

Get-ADUser -f * -pr lastlogondate|sort -property lastlogondate|ft samaccountname,lastlogondate -auto

[HOWTO POSH] Как узнать размер VHD диска

Покажет размер диска в гигабайтах:

(get-vhd "D:\Hyper-V\diskname.vhdx" | Select Size).Size/1073741824

Примеры использования NETSTAT

1. Вывести все порты (активные):

# netstat -a | more 




# netstat -at    все tcp порты
# netstat -au    все udp порты 


2. Вывести только слушаемые порты:


# netstat -l
# netstat -lt    слушаемые tcp порты
# netstat -lu    слушаемые udp порты 
# netstat -lx    слушаемые UNIX порты 

 
3. Отобразить статистику для каждого протокола

# netstat -s
# netstat -st    статистика для tcp
# netstat -su    статистика для udp

4. Вывод PID и имен запущенных программ

# netstat -p    
# netstat -pt    для tcp
# netstat -pu    для udp


5. Вывод без преобразования имен хостов, портов и имен пользователей
 
# netstat -an
 
 В случае если необходимо не преобразовывать что-то одно из этих трех параметров 
  (портов, хостов, пользователей):

# netstat -a --numeric-ports    не преобразовывать порты
# netstat -a --numeric-hosts    не преобразовывать имена хостов
# netstat -a --numeric-users    не преобразовывать имена пользователей


6. Вывод информации информации беспрерывно (интерактивно)
 
 Вывод будет обновляться каждые несколько секунд

# netstat -с


7. Вывод неподдерживаемых семейств адрессов (в конце вывода)

# netstat --verbose

8. Отобразить информацию о маршрутизации

# netstat -r

9. Найти порт используемый программой


# netstat -ap | grep ssh       найти порт используемый ssh
 
Найти программу, использующуй порт (в данном случае 80-й порт):

# netstat -an | grep ":80"


10. Вывести информацию об интерфейса

# netstat -i
 
# netstat -ie    вывод анлогичный ifconfig

 
 
по материалам с сайта www.thegeekstuff.com

четверг, 2 июля 2015 г.

Беспарольный SSH

Для входа на SSH сервер с использованием беспарольной аутентификации необходимо сгенерировать ключ (private) который будет использоваться на клиенте

ssh-keygen -t <тип ключа (RSA по умолчанию)>


Затем настроим /etc/ssh/sshd_config на сервере


RSAAuthentication yes
PubkeyAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

В случае если необходимо разрешить доступ для определенных пользователей используем директиву


Разрешить доступ для группы sudoers

Match Group sudoers


Для доступа с Linux, используем следующий способ:

ssh-copy-id -i ~/.ssh/<имя публичного ключа> <удаленный сервер>

Например:
ssh-copy-id -i ~/.ssh/id_rsa.pub user@remotehost.com

После этого наш публичный ключ появится в файле authorized_keys (можно просто добавить туда вручную)

Затем, необходимо добавить нужный ключ в используемые для входа ключи командой (убедитесь что на ключ сделан chmod 400, иначе будет ругаться что unprotected private key):

ssh-add ~/.ssh/<имя публичного ключа*>



Проверим есть ли этот ключ в списке:

 ssh-add -L



Для доступа с Windows хоста, можно использовать PuTTY:
для этого необходим сам PuTTY.exe, puttygen.exe и pagent.exe.
Импортируйте приватный ключ с помощью puttygen.exe в формат ppk, который необходимо открыть в pagent.exe.

Делаем chmod 0600 для private ключей на сервере.

Для отладки подключения ssh используйте

ssh -vT <имя сервера>

вторник, 30 июня 2015 г.

[HOWTO BASH] Как проверить вывод комманды в bash


Пример:

 [[ $((qm status 101) | grep "running") ]] && echo "OK" || echo "not OK"

Или:


#!/bin/bash
#usage script.sh <vmid>

STATUS=$(qm status $1)
if (echo $STATUS | grep "running"); then
        echo "ok";
else
        echo "not ok";
fi