Есть ли любой способ отправить файлы через использование pscp -load profile
не указывая хост, если я уже указал его в профиле?
Я хочу указать только исходный путь, целевой путь и профиль, не указывая пользователя и хост, потому что Это уже находится в профиле.
Пример: Я хочу создать сценарий в пакете, который отправит к корню хоста от профиля, данного как первые файлы аргумента, данные во втором аргументе:
@echo off
pscp.exe -load %* SOMETHING:/
pause
Но я не знаю, что поместить вместо SOMETHING
. Мне нужен тот сценарий для создания, отправляют к записям меню в Windows 8.1 (на этом, ярлыки окон в отправляют к меню, не может взять %1, %2, % * и т.д., таким образом, я должен создать сценарий для реконструкции порядка параметров в pscp.
Если я правильно понял:
вы работаете на хосте windows, локально подключенном как аккаунт "winuser";
на таком хосте, вы можете успешно использовать "putty" для SSH-доступа к удаленному хосту (назовем его "remote_host") аутентификация в качестве удаленного пользователя "root". Предположим, что ваша аутентификация "основана на паролях";
у вас есть профиль putty для "remote_host", который включает в себя не только имя удаленного хоста/ip_address, но и имя удаленного пользователя "root";
вам нужен BAT-файл, с помощью которого вы можете "pscp" что-нибудь "от/к" вашей локальной машине от/к "remote_host", без явного указания имени пользователя "root" в таком BAT-файле. Это, потому что в профиле шпаклевки Вы уже указали его.
Это правильно?
Если да, то такой BAT-файл как этот:
@echo off
pscp c:/tce-test.tce imac:/tmp
pause
скопирует локальные окна c:\tcp-test. tce файл на удаленный хост, указанный в профиле putty "imac", подключается к такому хосту с именем пользователя, указанным в том же профиле putty "imac", и записывает файл в папку remote /tmp.
Другими словами, как четко указано в pscp документации
5.2.1.2 host
The name of the remote server, or the name of an existing PuTTY saved session. In the
latter case, the session's settings for hostname, port number, cipher type and username
will be used.
вы можете использовать вместо параметра хоста имя сохраненного сеанса шпаклевки. Именно то, что вам нужно.
Сказав всё вышеизложенное, позвольте мне добавить следующие соображения:
при таком подходе вы применяете исправленный удалённый пользователь: тот, который указан в профиле шпаклёвки. Это ограничение вам может не понравиться;
не указывая имя пользователя в профиле putty, pscp откажется от использования имени пользователя, которое вы используете на локальном хосте windows ("winuser", в примере выше): если локальные имена пользователей имеют похожие имена пользователей, определенные на SSH-сервере, это может быть плюсом;
безопасный и удобный способ избежать ввода SSH-пароля, это полагаться на аутентификацию по SSH-ключу. С помощью windows вы можете найти агент Pageant, который может быть запущен при запуске windows и получить контроль над (локальными) ключами аутентификации пользователей. После того, как агент запущен и контролирует ключи, все программные средства семейства putty-f (putty, pscp и т.д.). ), а также множество других программных продуктов, могут корректно ssh-аутентифицироваться, не подсказывая пользователю никакого пароля (пожалуйста, не воспринимайте это как слабость безопасности, т.к. все наоборот: с помощью ключей вы укрепляете ваши схемы аутентификации);
если вы полагаетесь на ключи для аутентификации, вы можете указать PSCP на нужный файл ключей, используя опцию "-i"
From: Официальная документация PuTTY:
3.8.3.18 -i: specify an SSH private key
The -i option allows you to specify the name of a private key file in *.PPK
format which PuTTY will use to authenticate with the server. This option is only
meaningful if you are using SSH.
For general information on public-key authentication, see chapter 8.
This option is equivalent to the ‘Private key file for authentication’ box in the Auth
panel of the PuTTY configuration box (see section 4.20.7).