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 [2020/06/26 20:21]
val [SSH вместо VPN (привязка к порту сервера)]
сервис_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* ​192.168.X.3 192.168.X.4 ​192.168.X.5+
 #        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"​+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# scp switchN:​running-config /​srv/​tftp/​switchN-running-config
  
 server# sshpass -p cisco scp switchN:​running-config /​srv/​tftp/​switchN-running-config server# sshpass -p cisco scp switchN:​running-config /​srv/​tftp/​switchN-running-config
 +
 +server# scp -3 192.168.X.101:/​etc/​docker/​daemon.json gate:/​etc/​docker/​daemon.json
 </​code>​ </​code>​
  
Line 136: Line 160:
 ==== SSH вместо VPN (привязка к порту клиента) ==== ==== SSH вместо VPN (привязка к порту клиента) ====
 <​code>​ <​code>​
 +windows desktop
 Putty Putty
 Session Session
Line 143: Line 168:
   Destination 192.168.100+X.101:​3389   Destination 192.168.100+X.101:​3389
  
-linuxssh -L 3101:​192.168.100+X.101:​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:​3101 Remote Desktop Connection->​127.0.0.1:​3101
Line 149: Line 174:
  
 ==== SSH вместо VPN (привязка к порту сервера) ==== ==== SSH вместо VPN (привязка к порту сервера) ====
 +
 +  * [[Управление сервисами в Linux]]
 +
 <​code>​ <​code>​
 server# cat /​etc/​ssh/​sshd_config server# cat /​etc/​ssh/​sshd_config
Line 156: Line 184:
 ... ...
 </​code><​code>​ </​code><​code>​
-lanssh -N -R 2222:​localhost:​22 user1@server.corpX.un+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 lan# ssh -N -R 3101:​192.168.100+X.101:​3389 user1@server.corpX.un
Line 173: 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 188: Line 228:
  
 <​code>​ <​code>​
-node1:~# cat .ssh/config+node1:~# cat ~/.ssh/config
 </​code><​code>​ </​code><​code>​
 Host * Host *
Line 209: 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 switchN
Line 222: 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 239: 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 251: 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 283: 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 292: 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 323: 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 339: 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 375: 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 404: 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.1593192075.txt.gz · Last modified: 2020/06/26 20:21 by val