0

我正在使用来自 java 进程的 rsync(使用 java.lang.Runtime)。我们正在使用无密钥 ssh 来解决需要密码的问题。

我想做的是完全禁用密码提示——基本上只允许无密钥 ssh。在我的 java 程序中,如果我尝试连接到未正确设置无密钥 ssh 的主机,整个程序会冻结,因为它正在等待用户输入密码。

是否有一个标志或什么我可以传递给 rsync 来做到这一点?或者以某种方式杀死正在等待提示符的 Java 的 rsync 进程?

(永恒的新手建议使用服务器端解决方案。理想情况下,我希望将其保留在客户端)

4

1 回答 1

1

通常,在这种情况下,您应该在服务器上禁用密码验证。

在服务器上,您应该添加

Match User rsyncuser
PasswordAuthentication no

到 sshd_config 文件。(根据您登录的系统,该文件可以位于不同的位置。但最有可能在 /etc/sshd/sshd_config

于 2013-10-23T14:31:37.080 回答