أنا كسول ، وبالتالي يعجبني عندما يتم تنظيم كل شيء بشكل ملائم ، دون إيماءات غير ضرورية. أحيانًا أكون كسولًا جدًا للقيام بذلك بشكل مريح.
بمجرد أن احتجت إلى تنظيم الوصول إلى الخادم عبر SMB وأثناء البحث عن حل ، صادفت المقالة التالية: تركيب دليل Nikhef الرئيسي الخاص بك باستخدام SSH لنظام التشغيل Windows 8 . لقد كان حلًا بسيطًا وسهل الاستخدام استخدمه المعجون. بعد ذلك بقليل ، اضطررت إلى تكوين هذا الحل على جهاز كمبيوتر آخر وأدركت أن Putty كان غير ضروري هنا لأن عميل ssh المدمج المستند إلى OpenSSH ظهر في نظام التشغيل Windows 10.
تحت القطع - مخطط متطابق ، فقط باستخدام OpenSSH تحت Windows 10.
مخططي منظم على النحو التالي:
- يعمل Samba على الخادم ، ويتم مشاركة المجلد الجذر مع المواقع نيابة عن مستخدم www-data. الوصول إلى الخادم فقط عبر ssh بتفويض من المفتاح. الخادم خلف NAT ، تم إعادة توجيه المنفذ لـ ssh فقط.
- في عملية تسجيل الدخول إلى حساب على جهاز منزلي على نظام التشغيل Windows 10 من خلال نظام OpenSSH المدمج ، يتم إنشاء اتصال بالخادم بإذن بواسطة المفتاح.
- المنفذ 445 للجهاز البعيد متصل بالمنفذ المحلي 44445 لمحول استرجاع الشبكة المتوفر في 10.255.255.1
- في محول الاسترجاع 10.255.255.1 ، يتم ربط المنفذ 44445 بـ 445 محليًا. وبالتالي ، عند الاتصال بـ \\ 10.255.255.1 \ ، يتم فتح كرة ملف بعيد (والتي ، إذا لزم الأمر ، يتم تركيبها كمحرك أقراص شبكة).
كل هذا تلقائي - الكسل ينتصر. مظهر آمن وسريع ومحلي. يمكن لأي محرر فتح الملفات وتحريرها على خادم بعيد وكذلك على الخادم المحلي - دون مشاكل في تنزيل الملفات المحررة وتعيين الأذونات اللازمة لها. ومع ذلك ، لا توجد مشكلات أمنية مع Samba.
إذن - خطوة أولى:
جانب WINDOWS
OpenSSH. Windows 10 Windows Server 2019 SSH OpenSSH. . –
ssh

— "", .
1.
loopback- . .
hdwwiz.exe

« » ( Windows 10 Pro).
«» -> « , » -> « » -> «Microsoft –> Microsoft KM-Test» -> «»
, , devcon.exe, .
CMD ( ).
netsh interface show interface

. Ethernet 2.


:
netsh interface ip set address name="Ethernet 2" source=static address=10.255.255.1 mask=255.255.255.0
10.255.255.1
, TCP- 445, Windows lanmanserver . lanmanserver portproxy, .
( «start=» !!!):
sc config lanmanserver start= demand
sc config iphlpsvc start= auto
10.255.255.1 44445 445
netsh interface portproxy add v4tov4 listenaddress=10.255.255.1 listenport=445 connectaddress=10.255.255.1 connectport=44445
, lanmanserver .
loopback-,
netstat -an | find ":445 "
TCP 10.255.255.1:445 0.0.0.0:0 LISTENING
. "0.0.0.0:445" — - .
netsh interface portproxy show v4tov4
2.
. , .
mkdir %APPDATA%\CIFSoverSSH
cd %APPDATA%\CIFSoverSSH
ssh- ( , : cifsoversshkey)
ssh-keygen -t rsa -N "" -f cifsoversshkey
. , OpenSSH UNPROTECTED PRIVATE KEY FILE! . , Windows. GUI, . Windows :
icacls cifsoversshkey /RESET
icacls cifsoversshkey /grant _:F /inheritance:r
, .
icacls cifsoversshkey
, OpenSSH !
cifsoverssh.cmd :
call cmd /c start "" /B C:\Windows\System32\OpenSSH\ssh.exe user@111.111.111.111 -p remoteport -i %APPDATA%\CIFSoverSSH\cifsoversshkey -L 10.255.255.1:44445:localhost:445 -N -o "StrictHostKeyChecking=no"
:
user@111.111.111.111 – linux @
3.
: powershell -nologo -noninteractive -windowStyle hidden -command "%APPDATA%\CIFSoverSSH\cifsoversshkey.cmd"
powershell . CMD , , .
:
schtasks /CREATE /RU %username% /TN "CIFS over SSH" /TR "powershell.exe -nologo -noninteractive -windowStyle hidden -command %APPDATA%\CIFSoverSSH\cifsoversshkey.cmd" /SC ONLOGON /DELAY 0000:10 /IT /RL highest
Windows .
Linux
, ssh- .
ssh windows-
C:\Windows\System32\OpenSSH\ssh.exe user@111.111.111.111 -p remoteport
, ~/.ssh/authorized_keys ( – ).
mkdir ~/.ssh && touch ~/.ssh/authorized_keys
, windows- ( %APPDATA%\CIFSoverSSH\cifsoversshkey.pub). . , .
Samba ( Debian)
apt update && apt install samba
mv /etc/samba/smb.conf /etc/samba/smb.conf.old
touch /etc/samba/smb.conf
:
[global]
realm = webserver
server string = Web server
workgroup = WORKGROUP
# Setup charsets
dos charset = cp1251
unix charset = utf8
# Disable printers
load printers = No
show add printer wizard = no
printcap name = /dev/null
disable spoolss = yes
# Setup logging
log file = /var/log/smbd.log
max log size = 50
max xmit = 65536
debug level = 1
# Setup daemon settings
domain master = No
preferred master = Yes
socket options = IPTOS_LOWDELAY TCP_NODELAY SO_SNDBUF=65536 SO_RCVBUF=65536 SO_KEEPALIVE
os level = 65
use sendfile = Yes
dns proxy = No
dont descend = /proc,/dev,/etc
deadtime = 15
# Enable synlinks
unix extensions = No
wide links = yes
follow symlinks = yes
# Securtity settings
security = user
map to guest = Bad Password
guest account = nobody
create mask = 0664
directory mask = 0775
hide dot files = yes
client min protocol = SMB2
client max protocol = SMB3
[ShareName]
comment = Sites folder
path = /home/web
force user = www-data
force group = www-data
read only = No
guest ok = Yes
writable = yes
create mask = 0664
directory mask = 2775
. ShareName. Path = , . force user force group linux-, . - – www-data
Samba
systemctl restart smbd
Windows
exit
. windows ( ).
\\10.255.255.1\ShareName — .