J'ai un fichier sur le serveur A (qui est derrière un NAT, donc pas directement adressable). Le fichier doit être copié sur le serveur B dans un répertoire restreint à root. J'ai un compte sur le serveur B avec les privilèges sudo. Quelle est la syntaxe de la commande scp?
command-line
security
sudo
scp
Neil
la source
la source
Réponses:
Tout d’abord, vous devez copier le fichier dans un endroit où vous avez un accès en écriture sans sudo,
Puis déplacez le fichier en utilisant sudo
Si vous n’avez pas d’emplacement inscriptible, créez un répertoire temporaire avec le droit d’écriture pour votre utilisateur.
la source
chmod 777
c'est généralement la mauvaise façon de le faire. Pensez à ce qui pourrait arriver si quelqu'un d'autre était connecté et savait que vous étiez sur le point d'exécuter ce code.ssh sudo
ne fonctionne pas pour moi - se plaint "pas de tty présent et pas de programme askpass spécifié"?serverb
soit vous devez le fairessh serverb
séparément, puis vous devez voussudo ...
connecter une fois que vous vous êtes connecté.Avec SCP, vous devez procéder en deux étapes. Cependant, vous pouvez le faire en une opération avec rsync, comme suit:
Remarque: Cela nécessite une
NOPASSWD
configuration sudo. Si vous devez entrer le mot de passe pour sudo, la procédure en deux étapes est nécessaire.Pour copier le répertoire, vous devez ajouter un
-r
paramètre. Et-v
pour une sortie verbeuse.Pour utiliser la méthode ci-dessus avec les informations d'identification, vous devez les ajouter à votre
~/.ssh/config
fichier, par exemplela source
sudo: sorry, you must have a tty to run sudo
corrigée par-e "ssh -tt"
.-e "ssh -tt"
, je reçoisprotocol version mismatch -- is your shell clean?
. Des astuces sur comment résoudre ce problème?Vous pouvez utiliser ssh et tar pour contourner ce problème:
Ceci met d'abord à jour votre horodatage sudo (demandant un mot de passe si nécessaire, ce qui nécessite un tty (
ssh -t
)), puis utilise sudo pour créer une archive tar à distance et l'extraire localement."tar" sur RedHat 5 requiert les options "--preserve" après la commande "xpsf -".
la source
tar: Invalid replacement string
, supprimer-s
le semble résoudre le problème (vous ne savez pas vraiment ce dont vous avez besoins
). Merci beaucoup; C'est génial.tty_tickets
d'être désactivé, correct?Vous pouvez utiliser la commande sftp with sudo, par exemple:
la source
Si vous devez saisir un mot de passe pour sudo à chaque fois, vous pouvez l'enregistrer dans un fichier:
puis envoyez-le avec le fichier source.
Vous pouvez utiliser
tee
au lieu desponge
si vous n'avez pas de morilles.la source
Tout d’abord, vous devez copier le fichier à un emplacement où vous avez un accès en écriture sans sudo. Vous pouvez effectuer les deux étapes suivantes.
Étape 1:
scp filename newserver
Étape 2:
ssh newserver sudo mv filename /path/to/the/destination
pour plus d'informations, consultez le tutoriel scp
la source
Il copiera un fichier spécifique de la source vers / tmp / dans le serveur actuel
la source