Все коты работали, но тильда(~
)не обрабатывалась, как обычно в командной строке -. Внутренний cat
вернул содержимое файла, а внешний cat
уже был обработан для раскрытия тильды, подстановочных знаков, раскрытия переменных и т. д. Поэтому внешний кот искал файл по литералу . ] имя ~/.ssh/firstname.lastname
вместо предполагаемого /path/to/your/home/.ssh/firstname.lastname
.
Два варианта разрешения:
~/.ssh/firstname.lastname
, он будет содержать (, например)/home/you/.ssh/firstname.lastname
cat
в eval
таким образом, чтобы результирующая команда (после подстановки команд )была повторно обработана:eval cat $(cat path_to_key.txt)
. Обратите внимание, что это создает дополнительный уровень оценки, поэтому любые перенаправления или последующие команды внутри этого ключевого файла выполняются --вместе с желаемым расширением тильды, конечно. после прочтения dmesg, предложенного @A.B,
[48381.426142] CIFS: Attempting to mount //10.1.10.77/share
[48381.426168] No dialect specified on mount. Default has changed to a more secure dialect, SMB2.1 or later (e.g. SMB3), from CIFS (SMB1). To use the less secure SMB1 dialect to access old servers which do not support SMB3 (or SMB2.1) specify vers=1.0 on mount.
[48381.440240] CIFS VFS: cifs_mount failed w/return code = -2
и нашел решение для моей ситуации с Ubuntu Box, добавив-o vers=1.0
:
sudo mount.cifs //<<ip.address>>/SHARE /mnt/lspro, -o vers=1.0
Спасибо за помощь! ;))
П.С. согласно комментарию AB ниже, предпочтительно использовать более высокую версию SMB по соображениям безопасности. Для моей коробки NS самая высокая версия, которую я могу использовать, — это 2.0. Итак, обновление решения для моей ситуации:
sudo mount.cifs //<<ip.address>>/SHARE /mnt/lspro, -o vers=2.0