pscp (putty 클라이언트)를 사용하여 내 서버에 파일을 업로드하는 Excel 내 매크로에 매크로가 있습니다. VBA Excel 및 퍼티 (FTP) - 호출 대기 및 호스트 키가 레지스트리에 캐싱되지 않음
이
이 잘 작동 코드Dim wsh As Object
Set wsh = VBA.CreateObject("WScript.Shell")
Dim waitOnReturn As Boolean: waitOnReturn = True
Dim windowStyle As Integer: windowStyle = 1
Dim cstrSftp As String
Dim strCommand As String
Dim pUser As String
Dim pPass As String
Dim pHost As String
Dim pFile As String
Dim pRemotePath As String
'Specifying the values
cstrSftp = """" & Application.ActiveWorkbook.Path & "\pscp.exe" & """"
pUser = "username"
pPass = "password "
pHost = "ftp.xyz.com"
pFile = """" & Application.ActiveWorkbook.Path & "\test.mkv" & """"
pRemotePath = "/home/storage/public_html/"
'Setting the command
strCommand = cstrSftp & " -sftp -l " & pUser & " -pw " & pPass & _
" " & pFile & " " & pHost & ":" & pRemotePath
'Execution
wsh.Run strCommand, windowStyle, waitOnReturn
입니다,하지만 난 두 가지 문제가 있습니다
윈도우 10 시스템 팝업 그는 PSCP를 실행하고자하는 경우 사용자에게 요청하는 메시지를 사용1) .exe. 나는 그것을 우회하고 싶다. 대신 WScript.Shell의
내가이 사용하던 :Call Shell(strCommand, vbNormalFocus)
pscp.exe 실행에 대한 요구하지 않는 전화 셸 운영 시스템을 사용하지만, 문제는 내가 방법을이없는 것입니다 프로세스가 사용자가 처음으로 명령을 실행
2) 위에있을 때, 퍼티이 메시지가 프롬프트 알고
서버의 호스트 키는 레지스트리에 캐시되지 않습니다. 은 서버가 사용자가 생각하는 컴퓨터라는 것을 보증하지 않습니다. 서버의 rsa2 키> 지문 : [ssh-rsa 1024 somekey] 이 호스트를 신뢰하는 경우 PuTTY의 캐시에 키를 추가하려면 "y"를 입력하고 연결시에는 을 사용하십시오. 키를 캐시에 추가하지 않고 연결을 한 번만 수행하려면 "n"을 입력하십시오. 이 호스트를 신뢰하지 않으면 을 눌러 연결을 포기하십시오. 캐시에 키를 저장 하시겠습니까? (y/n)
나는 그것이 완전히 신속하게 무료, 자동으로 필요합니다.
내가 같이 "N 에코"를 사용하려 :strCommand = "에코 N |"& cstrSftp & "-sftp -l"& pUser & "-pw"& pPass & _ ""& PFILE & ""& pHost & "IWshShell3"실패 "& pRemotePath
그러나 나는이 메시지가".
두 가지 질문이 있습니다. 그러므로 그들에게 따로 물어보십시오. –
[echo 명령을 pcp 호스트 키 프롬프트에 대한 자동 응답으로 사용] (https://stackoverflow.com/questions/39924091/using-echo-y-as-an-automated-response-to-a-pcp) -hostkey-prompt) –