User Tools

Site Tools


сервис_ssh

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
сервис_ssh [2019/08/13 09:24]
val [SSH вместо RSH]
сервис_ssh [2024/03/14 11:07]
val
Line 10: Line 10:
 ==== Windows ==== ==== Windows ====
  
 +=== PuTTY ===
   * [[http://​www.putty.org/​|PuTTY]]   * [[http://​www.putty.org/​|PuTTY]]
-  * [[http://​val.bmstu.ru/​unix/​SSH/​putty-settings.zip]]+  ​* [[https://​the.earth.li/​~sgtatham/​putty/​latest/​w64/​]] 
 +  ​* [[http://​val.bmstu.ru/​unix/​SSH/​putty-64bit-0.76-installer.msi]]
  
 <​code>​ <​code>​
Line 18: Line 20:
 HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys
 </​code>​ </​code>​
 +
 +=== MobaXterm ===
 +
 +  * [[https://​mobaxterm.mobatek.net/​|MobaXterm]]
 +  * [[https://​bbs.archlinux.org/​viewtopic.php?​id=174595|Weird characters while pasting in terminal]]
 +<​code>​
 +printf "​\e[?​2004l"​
 +</​code>​
 +
 +=== WinSCP ===
  
   * [[https://​winscp.net/​eng/​docs/​lang:​ru|WinSCP]]   * [[https://​winscp.net/​eng/​docs/​lang:​ru|WinSCP]]
-  * [[http://​val.bmstu.ru/​unix/​SSH/​winscp433setup.exe]]+  * [[http://​val.bmstu.ru/​unix/​SSH/​WinSCP-5.19.2-Setup.exe]]
 ==== Ubuntu/​Debian ==== ==== Ubuntu/​Debian ====
 <​code>​ <​code>​
Line 36: Line 48:
 ... ...
 PermitRootLogin yes PermitRootLogin yes
 +...
 +#​KexAlgorithms +diffie-hellman-group1-sha1,​diffie-hellman-group-exchange-sha1
 +#​HostkeyAlgorithms +ssh-dss,​ssh-rsa
 ... ...
 </​code>​ </​code>​
Line 50: Line 65:
  
 ===== Настройка ssh клиента ===== ===== Настройка ssh клиента =====
 +
 +  * [[Утилита corkscrew]]
 +
 <​code>​ <​code>​
-$ cat .ssh/config+$ sftp -P 2222 -o UserKnownHostsFile=/​dev/​null -o StrictHostKeyChecking=no user3@localhost 
 + 
 +$ mkdir .ssh/ 
 + 
 +$ cat ~/.ssh/config
 </​code><​code>​ </​code><​code>​
 Host * Host *
   ServerAliveInterval 10   ServerAliveInterval 10
  
-#Host server2+#Host gitlab
 #        Port 2222 #        Port 2222
-#        User backup+##        User root
  
-#Host 172.16.1.* 192.168.*.* *.corpX.un +#Host switch* 192.168.X.5*
-#        UserKnownHostsFile=/​dev/​null +
-#        StrictHostKeyChecking=no +
- +
-#Host switch*+
 #        KexAlgorithms +diffie-hellman-group1-sha1 #        KexAlgorithms +diffie-hellman-group1-sha1
 #        Ciphers +aes128-cbc #        Ciphers +aes128-cbc
 +#        UserKnownHostsFile=/​dev/​null
 +#        StrictHostKeyChecking=no
 +#        LogLevel ERROR
 </​code>​ </​code>​
  
Line 86: Line 107:
 student@hostX$ cd /; sudo tar -cf - etc/ | ssh -l user1 gate "cat > etc.tar"​ student@hostX$ cd /; sudo tar -cf - etc/ | ssh -l user1 gate "cat > etc.tar"​
  
-server# ssh switch ​"show cdp neighbors" ​> /​srv/​tftp/​switch.cdp+server# ssh switch1 ​"show cdp neighbors"​
 </​code>​ </​code>​
  
 ==== SSH вместо RCP (SCP) ==== ==== SSH вместо RCP (SCP) ====
 +==== SCP ====
 <​code>​ <​code>​
-$ scp -P 2222 val@radio.specialist.ru:/​usr/​local/​www/​apache22/​data/​unijava/jre-8u211-windows-x64.exe .+$ scp -P 2222 val@radio.specialist.ru:/​usr/​local/​www/​apache22/​data/​unix/virus.zip . 
 + 
 +server# scp switchN:​running-config /​srv/​tftp/​switchN-running-config 
 + 
 +server# sshpass -p cisco scp switchN:​running-config /​srv/​tftp/​switchN-running-config
  
-scp switch:​running-config ​/srv/tftp/running-config+server# ​scp -3 192.168.X.101:​/etc/docker/daemon.json gate:/​etc/​docker/​daemon.json
 </​code>​ </​code>​
  
Line 134: Line 160:
 ==== SSH вместо VPN (привязка к порту клиента) ==== ==== SSH вместо VPN (привязка к порту клиента) ====
 <​code>​ <​code>​
 +windows desktop
 Putty Putty
 Session Session
   HostNameIP 192.168.X.10   HostNameIP 192.168.X.10
 Connection->​SSH->​Tunnels Connection->​SSH->​Tunnels
-  Source port 1111 +  Source port 3101 
-  Destination 192.168.100+X.201:3389+  Destination 192.168.100+X.101:3389
  
-linuxssh -L 1111:​192.168.100+X.201:3389 192.168.X.10+linux desktop$ ​ssh -L 3101:​192.168.100+X.101:3389 192.168.X.10
  
-Remote Desktop Connection->​127.0.0.1:​1111+Remote Desktop Connection->​127.0.0.1:​3101
 </​code>​ </​code>​
  
 ==== SSH вместо VPN (привязка к порту сервера) ==== ==== SSH вместо VPN (привязка к порту сервера) ====
-<​code>​ 
-inside_nat# ssh -N -R 2222:​localhost:​22 val@val.bmstu.ru 
  
-val# cat /​etc/​ssh/​sshd_config+  * [[Управление сервисами в Linux]] 
 + 
 +<​code>​ 
 +server# cat /​etc/​ssh/​sshd_config
 </​code><​code>​ </​code><​code>​
 ... ...
 GatewayPorts yes GatewayPorts yes
 +...
 </​code><​code>​ </​code><​code>​
-nessus# ssh -N -R 1111:10.10.132.50:3389 val@val.bmstu.ru+# cat /​proc/​sys/​net/​ipv4/​ip_local_port_range 
 + 
 +lan# ssh -N -R 61022:​localhost:​22 -o ServerAliveInterval=60 user1@server.corpX.un 
 + 
 +lan# ssh -N -R 3101:192.168.100+X.101:3389 user1@server.corpX.un
 </​code>​ </​code>​
  
Line 169: Line 202:
 </​code>​ </​code>​
  
 +==== Управление доступом на основе членства в группе ====
 +
 +Пример использования отдельного файла конфигурации
 +
 +<​code>​
 +gate# cat /​etc/​ssh/​sshd_config.d/​my.conf
 +</​code><​code>​
 +#​AllowGroups sudo
 +
 +#DenyGroups group1 group2
 +</​code>​
 ==== Запрет Forwarding портов ==== ==== Запрет Forwarding портов ====
  
Line 184: Line 228:
  
 <​code>​ <​code>​
-node1:~# cat .ssh/config+node1:~# cat ~/.ssh/config
 </​code><​code>​ </​code><​code>​
 Host * Host *
Line 205: Line 249:
 ==== Парольная аутентификация ==== ==== Парольная аутентификация ====
 <​code>​ <​code>​
-[gate.isp.un:​~] ​# apt install sshpass+server# apt install sshpass
  
-[gate.isp.un:​~] ​# sshpass -p '123' ssh 172.16.1.13+server# sshpass -p 'strongpassword' ssh vagrant@node1 
 + 
 +server# sshpass -p cisco ssh switchN 
 + 
 +server# sshpass -p cisco ssh switch1 sh int | grep line
 </​code>​ </​code>​
  
Line 214: Line 262:
 === Настройка sshd на использование ключей === === Настройка sshd на использование ключей ===
 <​code>​ <​code>​
-gate# cat /​etc/​ssh/​sshd_config+gate# less /​etc/​ssh/​sshd_config
 </​code><​code>​ </​code><​code>​
 ... ...
-PubkeyAuthentication yes+#PubkeyAuthentication yes
 #​AuthorizedKeysFile ​    ​%h/​.ssh/​authorized_keys #​AuthorizedKeysFile ​    ​%h/​.ssh/​authorized_keys
 ... ...
Line 231: Line 279:
 </​code><​code>​ </​code><​code>​
 user1@client1:​~$ ls .ssh/ user1@client1:​~$ ls .ssh/
- 
-user1@client1:​~$ chmod 755 . 
-user1@client1:​~$ chmod 700 .ssh/ 
-user1@client1:​~$ chmod 600 .ssh/​authorized_keys 
 </​code>​ </​code>​
  
Line 243: Line 287:
 <​code>​ <​code>​
 linux$ ssh-copy-id gate linux$ ssh-copy-id gate
 +
 +linux$ ssh-copy-id server
  
 freebsd$ ssh-copy-id -i .ssh/​id_rsa.pub gate freebsd$ ssh-copy-id -i .ssh/​id_rsa.pub gate
Line 275: Line 321:
 ... ...
  
-gate# ssh-add -l+student@client1$ ​ssh-add -l
 ... ...
  
 user1@client1$ ssh gate user1@client1$ ssh gate
 +
 +user1@client1$ ssh server
 </​code>​ </​code>​
  
Line 284: Line 332:
  
 === Регистрация принципалов сервиса в KDC и перемещение ключа сервиса на сервер === === Регистрация принципалов сервиса в KDC и перемещение ключа сервиса на сервер ===
 +
 +  * [[https://​www.altlinux.org/​%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_SPN_%D0%B8_Keytab_%D1%84%D0%B0%D0%B9%D0%BB%D0%B0|Создание SPN и Keytab файла при использовании DC Windows, DC FreeIPA, ...]]
  
 == Debian/​Ubuntu (MIT) == == Debian/​Ubuntu (MIT) ==
Line 315: Line 365:
  
 == Microsoft Active Directory == == Microsoft Active Directory ==
 +
 +  * Еще один способ:​ [[https://​blog.it-kb.ru/​2017/​10/​26/​adding-spn-entries-in-keytab-on-linux-server-using-ktutil-associated-with-computer-account-in-active-directory-domain/​|Добавление SPN записей в keytab-файл (на стороне сервера Linux с помощью утилиты ktutil), связанный с учётной записью Computer в домене Active Directory]]
  
 Добавляем пользователя в AD Добавляем пользователя в AD
Line 331: Line 383:
  
 C:\>pscp gatehost.keytab gate: C:\>pscp gatehost.keytab gate:
 +</​code>​
 +
 +== Samba4 ==
 +<​code>​
 +server# samba-tool user create gatehost
 +
 +server# samba-tool user setexpiry gatehost --noexpiry
 +
 +server# samba-tool spn add host/​gate.corpX.un gatehost
 +
 +server# samba-tool spn list gatehost
 +
 +server# samba-tool domain exportkeytab gatehost.keytab --principal=host/​gate.corpX.un
 </​code>​ </​code>​
  
Line 367: Line 432:
 === Настройка unix клиента ssh на использование GSSAPI === === Настройка unix клиента ssh на использование GSSAPI ===
 <​code>​ <​code>​
-client1# ​cat /​etc/​ssh/​ssh_config+client1# ​less /​etc/​ssh/​ssh_config
 </​code><​code>​ </​code><​code>​
 ... ...
Line 396: Line 461:
 user1@client1$ ssh -vv gate.corpX.un user1@client1$ ssh -vv gate.corpX.un
  
 +gate# service ssh stop
 +gate# mkdir /run/sshd
 gate# /​usr/​sbin/​sshd -d gate# /​usr/​sbin/​sshd -d
 </​code>​ </​code>​
сервис_ssh.txt · Last modified: 2024/04/08 15:58 by val