问题背景
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文件路径]