![如何从 ubuntu 到 centOS 机器无需密码运行 scp 命令](https://linux22.com/image/997377/%E5%A6%82%E4%BD%95%E4%BB%8E%20ubuntu%20%E5%88%B0%20centOS%20%E6%9C%BA%E5%99%A8%E6%97%A0%E9%9C%80%E5%AF%86%E7%A0%81%E8%BF%90%E8%A1%8C%20scp%20%E5%91%BD%E4%BB%A4.png)
我想从我的机器(Ubuntu_14)运行 scp 命令到我的服务器(CentOS_6)
我已经生成了一对身份验证密钥,并将我的公钥附加到我的服务器的 .ssh/authorized_keys 中,现在我可以从我的机器运行 ssh 命令到我的服务器而无需密码,但是当我要运行 scp 命令时,它会要求输入密码
请帮我..
答案1
由于您只能使用密钥通过 ssh 连接到服务器,因此您也可以使用密钥进行 scp - 只需确保用 指向它即可scp -i /path/to/private_key <source> <target>
。
您也可以使用ssh-agent
程序 - 您不必-i keyfile
每次都使用开关(这也适用于 ssh)。使用以下命令启动它:
ssh-agent bash
ssh-add -L #this lists the keys you have added (the public key)
ssh-add /path/to/private_key #this will add a key
答案2
ssh-keygen
按照说明进行设置后这里, 你可以做
scp -i ~/.ssh/id_rsa /local/path/to/file [email protected]:/path/in/remote/server/
id_rsa
设置中生成的本地密钥在哪里ssh-keygen
。
如果你想减少每次打字,你可以修改.bash_profile
文件并把
alias remote_scp='scp -i ~/.ssh/id_rsa /local/path/to/file [email protected]:/path/in/remote/server/
然后从你的终端执行source ~/.bash_profile
。之后如果你remote_scp
在终端中输入,它应该会scp
在没有密码的情况下运行命令。