使用SCP上传文件,可以不用输入密码么?

搜了好久,看到只言片语,说是在本地保存一个什么密钥,用scp上传文件的时候就不需要输入密码了,how?

阅读 14.4k
2 个回答
#! bash
$ ssh-keygen -d #本地和远程都运行这个
$ scp ~/.ssh/id_dsa.pub USER@REMOTE_HOST:~/.ssh/authorized_keys

scp使用的是ssh协议,通过密钥对进行加密和解密,做法是通过以下命令生成密钥对:

$ ssh-keygen

在执行过程中会让你输入密钥存储的文件名,比如输入的是mykey,提示输入密码的时候直接回车。以上完成后会生成两个文件,mykey和mykey.pub,其中mykey.pub是公钥,mykey是私钥,你需要把公钥mykey.pub的内容copy到服务器端的/home/username/.ssh/authorized_keys文件中,如果.ssh目录和authorized_keys不存在,则手动创建。
以上完成之后,你就可以使用以下命令还进行scp操作了。

scp -i /path/to/private-key /path/to/source username@xxx.yyy.zzz.www:/path/to/dest

其中/path/to/private-key为上面生成的私钥mykey,要保证私钥的权限为600。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题