1 votos

Cambiar los nombres de host remotos almacenados en la aplicación de terminal en masa

He estado usando el nombre de host simple para ssh en hosts remotos, alrededor de 100 sistemas. Ha habido un cambio en la configuración de la red que requerirá FQDN.

En lugar de recrear todos los nombres de mis sistemas remotos (almacenados en la terminal y mostrados al presionar shift-command-k)

¿Puedo editar los datos almacenados para agregar la información del dominio a las entradas existentes?

2voto

Douglas Puntos 10417

Los nombres de host son almacenados en los ajustes del Terminal .plist en el que los usuarios /Library/Preferences carpeta:

~/Library/Preferences/com.apple.Terminal.plist


Editar el .plist

La forma más fácil de editar un lote de estos es editando el plist con una herramienta como VSCode (gratis) con el Binario Plist Extensión o su editor de texto favorito con plist de apoyo.1 también puede convertir el plist para XML (y de vuelta a binario) el uso de plutil.2 Esto permitirá que usted utilice cualquier editor de texto como el Notepad que no admite de forma nativa plist formatos.

Importante: sugiero hacer una copia de seguridad de los plist antes de empezar a editar en caso de que quiera volver a la original.

Usted puede encontrar todos sus servidores en la matriz bajo la PermanentServers clave como se muestra a continuación. Simplemente vaya y arregle el FDQN como sea necesario. Si los sufijos de dominio son todos el mismo, un simple Buscar/Reemplazar deben velocidad a través de la tarea.

com.apple.Terminal.plist PermanentServer key

Guarde el archivo y vuelva a cargar el Terminal. Para este ejemplo, he añadido el FQDN .newFQDN a cada entrada y se reinicia el Terminal. Aquí está el resultado:

New Remote Connection Updated Results

Método alternativo utilizando defaults read/write

Usted puede obtener el nombre del servidor con el defaults read comando:

$ defaults read -app Terminal PermanentServers

(
    "host1.FQDN",
    "host2.FQDN",
    "host3.FQDN",
    "host4.FQDN"
)

Usted puede configurar su nueva servidores sobrescribiendo la matriz con uno nuevo de la siguiente manera:

$ defaults write -app Terminal PermanentServers -array '(host1.newFQDN, host2.newFQDN, host3.newFQDN, host4.newFQDN)'

Puede volver a emitir la defaults read comando para comprobar los resultados. La ventaja de esto es que usted no necesita TextWrangler y puede secuencias de comandos. Sin embargo, es difícil hacer un gran número en la línea de comandos es así, usted querrá para editar primero en un editor de texto para asegurarse de que usted no tiene errores.


1

En la primera versión de esta respuesta, que originalmente se refiere a TextWrangler , ya que era una herramienta que se usó originalmente para ver/editar archivos plist. Sin embargo, he sido la transición a VSCode como es la cruz de la plataforma macOS, Windows, e incluso FreeBSD, he descubierto un plist plugin que me permitió finalmente deshacerse de TextWrangler, no es que sea "malo" en ninguna manera; sólo estoy tratando de racionalizar mi dev tools.

2 Para convertir un archivo binario plist para XML para la edición, emita el comando plutil -convert xml1 foobar.plist. Una vez que haya terminado de editar, guardar, a continuación, volver a convertir binario con el comando plutil -convert binary1 foobar.plist


1voto

moodforaday Puntos 2633

Si todo lo que estamos preocupados es ser capaz de ssh , es posible que no necesite cambiar la manera de conectar a todos.

Usted puede hacer alias en ~/.ssh/config que se refieren a otros hosts. Por ejemplo, si usted quiere ser capaz de hacer ssh shortie en lugar de ssh somehostname.plus.fqdn se puede usar esta en ~/.ssh/config:

Host shortie
    HostName somehostname.plus.fqdn
    HostKeyAlias somehostname.plus.fqdn

El HostKeyAlias dice ssh que el nombre de host para su uso en ~/.ssh/known_hosts para la verificación de esta conexión, así que puede que desee utilizar el FQDN para que.

Me gustaría probar con uno de sus anfitriones y ver si funciona para usted. Si lo hace, la edición de ~/.ssh/config es sin duda el más fácil de solucionar, y usted puede copiar a los demás equipos si quieren/necesitan.

También puede asignar múltiples alias, demasiado.

Lo bueno de hacer esto como el ssh nivel es el que va a trabajar para la Terminal.aplicación, iTerm, y cualquier otro uso de herramientas de ssh.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X