Lorsque je me connecte à une machine en utilisant ssh, je souhaite que mes alias et fonctions soient là. En d'autres termes, connectez-vous à une machine que je souhaite pouvoir utiliser mes raccourcis de commande.
J'ai besoin que ce soit dynamique, chaque fois que je me connecte, je souhaite avoir des alias mis à jour.
Remarques: Très souvent, c'est la première fois que vous vous connectez, sans connaître la machine et les fichiers. Parfois, il s'agit d'une seule connexion. Une seule fois pour cette machine. Il doit être nettoyé par la suite, la configuration précédente doit également être restaurée.
/tmp/
. Cela peut être exploité par n'importe quel autre utilisateur pour exécuter n'importe quel code en tant qu'utilisateur qui se connecte. Cela devrait être utilisémktemp
pour s'assurer que le fichier temporaire a un nom unique.jens-na a fourni une excellente réponse. J'ai passé un peu de temps et l'ai retravaillé un peu pour mieux travailler un tout petit peu. De cette façon, vous pouvez transmettre n'importe quel paramètre à SSH, comme les numéros de port. La différence est qu'il utilise la
ssh
commande pour télécharger le.bashrc
fichier, au lieu descp
, qui utilise des noms de paramètres de commande différents.Vous remarquerez également qu'il télécharge un fichier différent
.bashrc_remote
, de sorte que vous pouvez sélectionner exactement ce que vous souhaitez source sur des serveurs distants, au lieu de toutExécutez-le comme suit:
Le nom «
sshs
» est pour «SSH Source». À utiliserssh
lorsque vous ne voulez pas source, et à utilisersshs
lorsque vous le souhaitez.https://gist.github.com/jonahbron/5549848
la source
Pseudo-terminal will not be allocated because stdin is not a terminal
Je pense que sshrc est ce que vous recherchez: https://github.com/Russell91/sshrc
Vous pouvez l'utiliser pour définir des variables d'environnement, définir des fonctions et exécuter des commandes post-connexion. C'est aussi simple que cela, et cela n'aura pas d'impact sur les autres utilisateurs du serveur - même s'ils utilisent également sshrc. Pour une configuration plus avancée, continuez à lire.
la source
vim $(which sshrc)
et vous pourrez voir le fichier bash. Vous pouvez ajouter des commandes d'écho après chaque ligne pour voir où elle se bloque.Je ne suis pas sûr des limites, mais j'ai pu faire fonctionner cela avec quelque chose comme:
la source
RC_DATA
variable.C'est ce que j'ai trouvé. Il vous permet de maintenir un fichier rc normal, mais aussi de tout faire en une seule connexion ssh (c'est-à-dire que vous n'avez besoin de vous connecter qu'une fois plutôt que de faire un scp en premier).
Je ne suis pas sûr de la taille de ce fichier rc, car il pourrait atteindre son maximum à un moment donné.
la source
Je pense que https://github.com/fsquillace/pearl-ssh fait ce dont vous avez besoin.
Je l'ai écrit il y a longtemps avant la naissance de sshrc et il a plus d'avantages que sshrc:
Par exemple:
la source
Une option pour le faire fonctionner avec une seule session SSH consiste à utiliser une variable pour stocker votre fichier bash au lieu de le copier.
Semble fonctionner pour moi.
la source
Je cherchais à résoudre un problème comme le vôtre et j'ai réalisé que ce que je cherchais vraiment était sshfs. Peut-être que vous pouvez aussi l'utiliser?
Mon problème était que lors de ssh'ing, je souhaitais conserver mes couleurs, alias, fonctions et scripts tout en travaillant à distance.
http://fuse.sourceforge.net/sshfs.html
la source