如何从Bash终端内部传递身份验证窗口?

如何从Bash终端内部传递身份验证窗口?,bash,authentication,curl,Bash,Authentication,Curl,假设有一些网站要求用户输入用户名和/或密码,以通过身份验证对话框获取其背后的实际内容。当人们在浏览器上遇到此类网站时,他或她可以输入用户名和/或密码以通过身份验证。然而,从航站楼内部进行验证是否可行 那里的内容只有一个zip文件,我可以使用curl和-u选项来指定我的用户名来下载它。但是,它仍然需要我输入密码才能通过身份验证,我想知道如何使用我的密码自动通过它,而不会被提示输入密码,因为我每天都要下载它,并且希望使用我的bash脚本来实现它 我使用OS X 10.9.2,我想从终端中访问它。我的

假设有一些网站要求用户输入用户名和/或密码,以通过身份验证对话框获取其背后的实际内容。当人们在浏览器上遇到此类网站时,他或她可以输入用户名和/或密码以通过身份验证。然而,从航站楼内部进行验证是否可行

那里的内容只有一个zip文件,我可以使用curl和
-u
选项来指定我的用户名来下载它。但是,它仍然需要我输入密码才能通过身份验证,我想知道如何使用我的密码自动通过它,而不会被提示输入密码,因为我每天都要下载它,并且希望使用我的bash脚本来实现它


我使用OS X 10.9.2,我想从终端中访问它。我的用户名和密码在身份验证中都有。我可能有兴趣知道通过验证的最安全的方法。

您应该能够使用
curl
为此,只需更改您为
-u
提供的参数以包括密码:

curl -u username:password http://www.website.com/content/file.zip

显然,这需要在脚本中以明文形式存储密码,这对安全性来说并不理想。如果您有对相关服务器的SSH访问权限,您可以创建一个私钥/公钥对,然后使用公钥登录到服务器,而不需要密码(并使用
scp
)下载文件),从安全角度来看,这将是一个理想的选择。

Awesome!对于SSH访问,需要先让站点管理员使用SSH,对吗?换句话说,除非站点管理员实现SSH访问,否则无法执行此操作,对吗?是的,您需要通过配置的SSH端口以及shell登录来访问服务器本身。