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
сервис_ssh [2019/08/13 09:02]
val [SSH вместо RCP (SCP)]
сервис_ssh [2024/03/14 11:07] (current)
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 85: Line 106:
  
 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 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 132: 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 167: 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 182: Line 228:
  
 <​code>​ <​code>​
-node1:~# cat .ssh/config+node1:~# cat ~/.ssh/config
 </​code><​code>​ </​code><​code>​
 Host * Host *
Line 203: 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 212: 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 229: 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 241: 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 273: 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 282: 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 313: 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 329: 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 365: 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 394: 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.1565676142.txt.gz · Last modified: 2019/08/13 09:02 by val