web-dev-qa-db-ja.com

パラメータとしてキーファイルを使用してscp'ing、可能ならどうすれば私はそれを行うことができますか?

scp -i ~/.ssh/id_rsa.pub events*$date*_QA.log $remote_user@$remote_server:$remote_location

上記のスクリプトは正しくありませんか。正しくやっていませんか。

私は.sshディレクトリに行き、リモートサーバーがknown_hostsファイルにあることを見ました。

しかし、パラメータとしてファイルを指定せずに通常のscpを実行すると、まだパスワードを要求されます。

scp events*$date*_QA.log $remote_user@$remote_server:$remote_location

キーファイルをコマンドに含める方法を教えてください。

sh-3.2$ grep server ~/.ssh/*
/home/user/.ssh/known_hosts:server....com,ip_addr ssh-rsa Asine=jhjsdhfjsadhfjkashdfjhasdjfhksadjfhasjdfhj
50
user122530
 -i identity_file
         Selects the file from which the identity (private key) for public
         key authentication is read.  This option is directly passed to
         ssh(1).

~/.ssh/id_rsaを使用してください。

64
whitequark

これは別の初心者を助けるかもしれません。

[これは冗長な循環例ですが、説明するのに適しています]シナリオ:

  1. macからのssh-> Ubuntu
  2. macのscpファイル-> Ubuntu
  3. ubuntuからsshおよびscpファイルを閉じる-> Mac

Macで(ssh-keygenを介して)sshキーのみを作成し、(ssh-copy-id)を介してUbuntuを実行しているマシンと共有しました。したがって、Ubuntuを実行しているマシンからMacにログインしている間にファイルをコピーできましたが、その逆はできませんでした。

解決策:Ubuntuマシンでsshキーを作成し、Macと共有する必要がありました。その後、Ubuntuマシンで次のコマンドを正常に実行できました

Mac IP: 192.168.1.40
Ubuntu IP: 192.168.1.38

Macの場合

ssh-keygen
ssh-copy-id [email protected]

ssh [email protected]

# Now on Ubuntu
ssh-keygen
ssh-copy-id [email protected]

そして今、次のコマンドはMACにパスワードを要求せずにファイルをコピーする必要があります

Sudo scp -i /home/ubuntu/.ssh/id_rsa [email protected]:~/Documents/Fluff/Version-Control/tools/pull.sh .
1
Patrick Walter

次の手順でテストして修正しました。 https://askubuntu.com/questions/46930/how-can-i-set-up-password-less-ssh-login

私の箱(CentOS/CentOS)でテストしたとき、ここの指示は完璧に働いた。私の問題はあなたのSSHキーがユーザー名と結び付いていないことだと思います。

例:猫のauthorized_keysボックスの#私がする/ SCPIN'をsshingよSSH-RSA BLAHBLAHBLAHBLAH/zAcS4kD9pyPAjD3/Gd5D1rcQa6IztCMR9yMXiGFnxviWsT8/oYevZw25k4yREuA8ibLKC9peH1X4LK1E + n7gq4TETexWkZbQ2XGLOX44eglra3MB4FShPg0cZXGcJWltPQ/y0Ay2A/KmaC14YrDfqwm7 + ibTiUp4hOO8I6eIPmwwGn/2hs0SewJXisGqUx2v [email protected] #usernameキーに結び付けとなっています許可されたホスト

0
Max Humphrey