Scp uploads sourceFile to remote machine like native scp console app.
(sourceFile string, etargetFile string)
| 548 | |
| 549 | // Scp uploads sourceFile to remote machine like native scp console app. |
| 550 | func (ssh_conf *MakeConfig) Scp(sourceFile string, etargetFile string) error { |
| 551 | session, client, err := ssh_conf.Connect() |
| 552 | if err != nil { |
| 553 | return err |
| 554 | } |
| 555 | defer func() { _ = client.Close() }() |
| 556 | defer func() { _ = session.Close() }() |
| 557 | |
| 558 | src, srcErr := os.Open(sourceFile) |
| 559 | |
| 560 | if srcErr != nil { |
| 561 | return srcErr |
| 562 | } |
| 563 | defer func() { _ = src.Close() }() |
| 564 | |
| 565 | srcStat, statErr := src.Stat() |
| 566 | |
| 567 | if statErr != nil { |
| 568 | return statErr |
| 569 | } |
| 570 | return ssh_conf.WriteFile(src, srcStat.Size(), etargetFile) |
| 571 | } |