Ek moet lêers programmaties oplaai en aflaai via 'n sftp-verbinding na 'n afgeleë bediener. My gebruikersnaam het toestemming om toegang tot 'n sekere afgeleë gids deur 'n wagwoord te verkry, maar nie die .ssh-gids nie. Eintlik kan ek glad nie ssh in die afgeleë bediener inskakel nie. Ek kry die antwoord:

This service allows sftp connections only.
Connection to www.example.com closed.

Maar vir die doel van hierdie vraag, laat ons sê ek het eenvoudig nie die toestemming om my private sleutel na die afgeleë .ssh-gids te kopieer nie. So my vraag is:

Hoe kan ek my plaaslike /.ssh/config-lêer opstel om te verhoed dat ek vir die wagwoordverifikasie gevra word?

Uiteraard kan ek nie 'n nuutgegenereerde sleutelpaar na die afgeleë gids kopieer nie, soos hier voorgestel word , om die bogenoemde redes. Maar ek moet 'n private sleutel op my plaaslike masjien hê vir die ssh-verbinding iewers, nie waar nie? Kan ek nie net die gids van daardie lêer na die IdentityFile-opsie deurgee nie?

answer

Vra die administrateur van daardie afgeleë bediener om publieke sleutel-verifikasie vir jou te aktiveer. Omdat publieke sleutel-verifikasie beide bedienerkant en van die kliënt ondersteun moet word, kan jy dit nie van die kliënt alleen afdwing nie.

Vir skriftoegang is sshpass 'n moontlike oplossing. Dit laat jou toe om jou wagwoord in 'n lêer te stoor om aanmelding te outomatiseer wanneer jy nie sleutelgebaseerde verifikasie kan gebruik nie.

https://www.redhat.com/sysadmin/ssh-automation-sshpass is 'n nuttige hulpbron daarvoor.