使用密钥文件作为参数scp',如果可能的话我该怎么办?


51
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

Answers:


67
 -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


仍然要求输入密码sh-3.2$ scp -i ~/.ssh/id_rsa test_QA.log user@server:location user@server's password:

@tech_learner很奇怪,因为
它对

2
您可能必须使用/ home / user /中的实际路径,而不要使用〜。那似乎使它对我有用。
埃文·达尔文

1
您希望将本地用户的〜/ .ssh / id_rsa.pub内容放置在远程服务器的authorized_keys文件中。通常在〜/ .ssh / authorized_keys中。您还需要特别注意〜/ .ssh中文件的文件权限,以使它们的访问权限降至最低。sshd对于文件权限非常详细。
JR Lawhorne '16年

在Mac OS X上,只有当它-i ~/.ssh/id_rsa是第一个选项时,它才起作用。所以这个工作:scp -i ~/.ssh/mykey.pem -r dir user@remote_server:~/。这行不通:scp -r -i ~/.ssh/mykey.pem dir user@remote_server:~/
asmaier

1

这可能会帮助另一个菜鸟。

[我知道这是一个多余的循环示例,但可以很好地说明]场景:

  1. Mac的ssh-> Ubuntu
  2. Mac上的SCP文件-> Ubuntu
  3. 从Ubuntu-> Mac关闭ssh和scp文件

我只在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 ubuntu@192.168.1.38

ssh ubuntu@192.168.1.38

# Now on Ubuntu
ssh-keygen
ssh-copy-id MAC@192.168.1.40

现在,以下命令应在不要求输入密码的情况下复制文件到MAC

sudo scp -i /home/ubuntu/.ssh/id_rsa MAC@192.168.1.40:~/Documents/Fluff/Version-Control/tools/pull.sh .

0

通过以下说明进行测试和更正:https : //askubuntu.com/questions/46930/how-can-i-set-up-password-less-ssh-login

当我在包装盒(CentOS / CentOS)上进行测试时,此处的说明可以完美地工作。我想问题是您的ssh密钥未绑定到用户名。

例如:猫的authorized_keys上盒#我ssh方式连接/ scpin'来支持SSH-RSA BLAHBLAHBLAHBLAH / zAcS4kD9pyPAjD3 / gd5D1rcQa6IztCMR9yMXiGFnxviWsT8 / oYevZw25k4yREuA8ibLKC9peH1X4LK1E + n7gq4TETexWkZbQ2XGLOX44eglra3MB4FShPg0cZXGcJWltPQ / y0Ay2A / KmaC14YrDfqwm7 + ibTiUp4hOO8I6eIPmwwGn / 2hs0SewJXisGqUx2v my_user@machine.local #username是联系在一起的关键,是一个授权主机

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.