У меня есть интересная проблема, мой скрипт использует ssh для доступа к моему серверу vmware для получения данных с него.Я обнаружил, что если компьютер, на котором выполняется сценарий, никогда не подключался к серверу, сценарий не будет работать, потому что вопрос, спрашивающий, следует ли добавить хост, к которому я подключен, в мой известный файл hosts.
На основечитая некоторые форумы и тому подобное, и людей, имеющих аналогичную проблему, у меня возникла идея.Я хотел изменить файл ssh_config
на «хосте скрипта», чтобы исключить проверку известного хоста для хоста, указанного в файле конфигурации.Это будет сделано с помощью скрипта конфигурации, который я задаю вам, который задает вам различные вопросы, которые генерируют файл конфигурации xml.
Теперь для решения проблемы ...
Мне нужно изменить файл конфигурации, яЯ думал, что проще всего будет перетянуть файл в perl и манипулировать им.Slurping я делал раньше, но в соответствии с тем, что я прочитал, директива для отключения определенных опций ssh на перкулярном хосте должна идти перед директивой глобальных опций.
Как вставить текст между двумя блоками текста втекущий файл?
Вот так выглядит мой ssh_config
# This is the ssh client system-wide configuration file. See
# ssh_config(5) for more information. This file provides defaults for
# users, and the values can be changed in per-user configuration files
# or on the command line.
# Configuration data is parsed as follows:
# 1. command line options
# 2. user-specific file
# 3. system-wide file
# Any configuration value is only changed the first time it is set.
# Thus, host-specific definitions should be at the beginning of the
# configuration file, and defaults at the end.
# Site-wide defaults for some commonly used options. For a comprehensive
# list of available options, their meanings and defaults, please see the
# ssh_config(5) man page.
**--This is what my modification need to go--**
Host *
# ForwardAgent no
# ForwardX11 no
# ForwardX11Trusted yes
# RhostsRSAAuthentication no
# RSAAuthentication yes
# PasswordAuthentication yes
# HostbasedAuthentication no
# GSSAPIAuthentication no
# GSSAPIDelegateCredentials no
# GSSAPIKeyExchange no
# GSSAPITrustDNS no
# BatchMode no
# CheckHostIP yes
# AddressFamily any
# ConnectTimeout 0
# StrictHostKeyChecking ask
# IdentityFile ~/.ssh/identity
# IdentityFile ~/.ssh/id_rsa
# IdentityFile ~/.ssh/id_dsa
# Port 22
# Protocol 2,1
# Cipher 3des
# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
# MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160