No recomendaría usar un alias Bash para lo que está tratando de lograr. Simplemente puede ingresar toda la información en el archivo de configuración de SSH y terminar con eso. Lea la página de manual para ssh_config
saber si tiene curiosidad de dónde provienen. Puedes hacer algunas cosas buenas conssh_config
El archivo se encuentra aquí. ~/.ssh/config
Use su editor favorito y cree el archivo y luego ajústelos a su situación.
Host nameOfBashAlias
HostName 11.11.11.11
User myUsername
Port 22
Ahora está configurado para emitir el siguiente comando:
$ ssh nameOfBashAlias
Algo que apuesto a que no sabías es lo integrado que está todo esto. Ahora que tiene esta configuración, los siguientes comandos también funcionan
$ scp /some/file nameOfBashAlias:/path/to/storage/location/
No más recordando que scp usa "-P" para puerto y ssh usa "-p". Además, este "alias" también funciona en aplicaciones OS X GUI como Transmitir.
OpenSSH obtiene datos de configuración de las siguientes fuentes en el siguiente orden:
- opciones de línea de comandos
- archivo de configuración del usuario
~/.ssh/config
- archivo de configuración de todo el sistema
/etc/ssh_config
scp
no corre bash. Necesitarías ejecutar esto:Si todo lo que tiene es el alias y el código anterior no es posible para usted, considere ejecutarlo así:
De esta manera, en realidad estás invocando
ssh
y dirigiendo el contenido del archivo a un archivo en el disco. Esto se puede escribir de otra manera para las cargas.fuente
Los alias se sustituyen cuando son la primera palabra de un comando bash. Su alias aparece al comienzo de la tercera palabra.
Usaría una variable de shell para esto.
Por cierto, creo que tu alias original no debería tener ssh. Y el último ejemplo de código tiene un> que también se ve mal.
fuente
No, sus ejemplos no funcionarán, porque no es así como
BASH
funcionan los alias. Te sugiero que uses una variable. Pon esto en tu~/.profile
o~/.bashrc
[lo que uses]:site="[email protected]"
luego en tu terminal, esto funcionará:
scp favicon.ico $site:/dir/
O podrías escribir un guión como lo hago para mi iPod. en mi bashrc tengo
ipod=192.168.2.60
, luego en mi script,source ~/.bashrc
así que obtiene mis variables en el script, luego en el script:scp $1 $ipod
el inconveniente es que tendría que editar el script para hacer recursivo. y solo puedo hacer 1 archivo. ¡pero cuando necesito cualquiera de los que suelo usar
scp
directamente desde el terminal!~ Matt
fuente