Authentication

使用 WinSCP 將 Windows 客戶端連接到 Linux 伺服器

  • November 12, 2019

我正在嘗試了解如何在 Windows 7 PC(是的,這些 PC 將在明年的部分時間支持)與 Linux 伺服器之間建立 SFTP 連接。我想我終於明白了——但這是我沒有關注的放置東西的地方以及如何實際連接的地方。

在這些新的 Linux 伺服器推出之前,我正在一個測試實驗室中測試所有這些。我已經生成了一個密鑰對。我已將公鑰提供給我的測試伺服器管理員,他將其放在Linux 伺服器上的**/root/.ssh/authorized_keys**(這是正確的位置嗎?)。

我已將我的私鑰放在我的 Windows PC 上的**\Users\user.ssh\keyname.ppk中。**那是對的嗎?

現在我正在嘗試編寫一個測試批處理腳本,該腳本將使用我的連接命令、我的 PUT 和 GET 命令創建一個 .dat 文件,WinSCP 將呼叫該文件以連接到該伺服器並執行這些命令。如果我可以讓它工作,我將在目前使用 FTP 而不是 SFTP 的幾個不同腳本中使用相同的批處理程式碼和 WinSCP 呼叫。

我不確定如何連接。我可以呼叫我的 .dat 文件 -

winscp /script=\temp\sftp.dat

但我目前的身份驗證方法是使用使用者名/密碼組合 - 這是 .dat 文件的第一行:

open sftp://username:password@servername -hostkey="ssh-ed25519 xxxxxxxxxxxx"        

…但是我將無法使用使用者名/密碼身份驗證。那麼如何僅使用密鑰對進行連接呢?我需要寫一條特定的線來代替打開的 sftp線以使其連接嗎?

終於發現伺服器上的密鑰位置是正確的,客戶端上的密鑰位置並不嚴格,只要我在 WinSCP 中使用 -privatekey 參數 - 我終於想通了 - 這是 sftp.dat 中有效的行:

open sftp://username@servername -hostkey="ssh-ed25519 xxxxxxxxxxxx" -privatekey=\pathtoprivatekey\key.ppk

建立聯繫並最終通過公鑰身份驗證更好地了解 SFTP。

引用自:https://serverfault.com/questions/991584