windows免密上传/下载linux文件

147 阅读1分钟

问题背景

windows环境下执行scp命令每次都要输入密码,这忍不了

解决方法

术语

  • w表示windows
  • u表示Linux服务器
  • w$表示在windows端输入的命令
  • u$表示在Linux端输入的命令

windows生成一对密钥(一路enter)

w$ ssh-keygen -t rsa

linux ssh配置允许root用户登录

u$ vim /etc/ssh/sshd_config

确保PermitRootLogin为yes

公钥上传至linux服务器

创建保存密钥的文件夹

u$ mkdir ~/keys

windows上传公钥至linux

w$ scp [windows下生成公钥的路径] username@ip:~/keys

将上传的key添加到ssh的授权列表

u$ mkdir ~/.ssh

u$ cat ~/keys/id_rsa.pub>>~/.ssh/authorized_keys

检查是否生效

在w再次执行上传/下载命令无需输入密码

上传文件

scp [windows文件路径] username@ip:[linux文件路径]

下载文件

scp -r username@ip:[linux文件路径] [windows文件路径]