如何登录 SSH 并自动输入用户名和密码?

如何登录 SSH 并自动输入用户名和密码?

多年来,我只使用 Windows。我正在转向 Linux,并且试图让过渡尽可能简单,因为我对 Linux 几乎一无所知。

在 Windows 上,我目前使用 PuTTY 的桌面快捷方式来快速轻松地连接到不同的代理服务器。我为 PuTTY 创建了快捷方式,只需双击即可打开 PuTTY,然后连接到服务器并提供用户名和密码。本文中所做的基本内容如下:http://web.archive.org/web/20201203103040/http://jafty.com/blog/how-to-make-putty-automatically-login-with-user-and-password/

我需要将某些本地端口转发到代理服务器上的某些端口(例如,L8888->localhost:2222),以便我可以在浏览器和其他应用程序中指定多个 HTTP 和 SOCKS 代理设置。

有没有办法模拟我在 Windows 机器上执行的“自动登录”?或者有没有更好、更安全的方法在 Ubuntu 上执行此操作?用户名和密码非常复杂,我需要频繁连接和断开连接。不幸的是,我无法控制服务器,因此必须使用用户名/密码。

答案1

不幸的是,我无法控制服务器,因此必须使用用户名/密码。

不,您的服务器可能启用了基于密钥的身份验证。请参阅如何设置无密码 SSH 登录?设置它,这样您就可以跳过使用密码并使用密钥。(如果您出于某些疯狂的原因必须使用密码,请参阅该帖子中的另一个答案ssh-pass

然后,您可以像这样创建条目~/.ssh/config

Host proxy1
     Hostname some.server.or.ip
     User foo
     LocalForward 8888 localhost:2222

这里proxy1可以是您选择的任何名称,但Hostname应包含实际的服务器主机名或 IP。(请参阅man ssh_config获取更多选项。)完成后,在终端中执行ssh proxy1以启动端口转发,然后按CtrlD退出(或运行exit)。

或者查看创建一个在终端中打开并执行命令的 .desktop 文件关于如何从快捷方式(或“启动器”)启动终端中的命令。

当然,Putty 适用于 Ubuntu

相关内容