![如何使用 curl 命令配置 MAC(消息认证码)](https://linux22.com/image/1608222/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20curl%20%E5%91%BD%E4%BB%A4%E9%85%8D%E7%BD%AE%20MAC%EF%BC%88%E6%B6%88%E6%81%AF%E8%AE%A4%E8%AF%81%E7%A0%81%EF%BC%89.png)
我想通过 curl 使用 sftp 下载文件,像这样
curl --insecure "sftp://1.1.1.1:22" --user 'root:123123'
并且 sftp 服务器进行安全配置(/etc/ssh/sshd_config,MAC地址hmac-sha2-512,hmac-sha2-256),所以 curl 无法与服务器建立连接,message.log 中有错误日志
致命:未找到匹配的 mac:客户端 hmac-sha1、hmac-sha1-96、hmac-md5、hmac-md5-96、hmac-ripemd160,[电子邮件保护]服务器 hmac-sha2-512,hmac-sha2-256 [预认证]
如何使用 curl 配置 mac?
答案1
1.编译openssl
./config -fPIC 无共享 无线程 无 asm --prefix=/usr1/local/ssl
2.编译libssh2
./configure --prefix=/usr1/local/ssh2 --exec-prefix=/usr1/local/ssh2 --includedir=/usr1/local/ssh2 --disable-examples-build
3.需要移动包含文件位置来调整 curl 要求
mkdir /usr1/local/ssh2/include
mv /usr1/local/ssh2/*.h /usr1/local/ssh2/include/
4.编译curl
./configure --prefix=/usr1/local/curl --with-libssh2=/usr1/local/ssh2 --with-ssl=/usr1/local/ssl
5.它有效