Save PuTTY ouput to file from command-line

后端 未结 4 1630
北海茫月
北海茫月 2020-12-31 08:52

Is there any way to save the PuTTY output to a file using the command line? I know this is easily done using the GUI but in my case it has to be done automatically.

相关标签:
4条回答
  • 2020-12-31 09:28

    The specific program putty is not designed for this. Instead use plink, a different program in the PuTTY suite, which uses the same session settings and keys as putty but gets input from stdin and puts output to stdout, both of which can be redirected in the usual ways. See http://the.earth.li/~sgtatham/putty/0.63/htmldoc/Chapter7.html#plink .

    0 讨论(0)
  • 2020-12-31 09:35

    This can be done with putty. The answer is little late considering the time the questions was asked, however this might help someone.

    In putty, using GUI, you can save sessions with logging option on, as shown below.

    Enter Host Name, Name the session, Go to Logging Option in the left top corner, select all sessions, provide log file name and location, go back to Session tab, click on the save button. Done, you have saved a session.

    Now open CMD and write the command as below

    You are done. Every time this session is invoked, the commands and output will be logged. Hope this helps.

    0 讨论(0)
  • 2020-12-31 09:41

    Expanding on Dave's and Charlie's answers...

    Apart from making sure plink is in the path, also check whether you have write access to local ouput file.

    This is how you redirect command output from remote machine to local file with plink. In this example we store an output from man page for nfcapd:

    plink joe@192.168.50.50 -pw joespassword man nfcapd > output.log 2>&1
    

    The first time you try to access the server, it will ask you store key in cache. So make sure to access the machine at least once before:

    plink joe@192.168.50.50 -pw joespassword
    
    The server's host key is not cached in the registry. You 
    have no guarantee that the server is the computer you
    think it is.
    ...
    Store key in cache? (y/n)
    
    0 讨论(0)
  • 2020-12-31 09:51

    As mentioned in previous answer, use plink for this.

    Make sure it is in your environment path, by typing

    plink -V
    

    in your console. If it returns a version number, then you know it is in environment path variables. If it doesn't, probably best to fix this first. There are plenty of good SO answers to help you with this. Failing that, use the full path to your plink.exe in the CLI command that follows.

    Then use plink to open your ssh connection, with the option -v set to provide verbose output. Finally, this all needs to be piped to a log file.

    The complete cli command that I use is

    plink -v username@xxx.xxx.xxx.xxx  > ssh-output.log 2>&1
    

    Open up the file ssh-ouput.log to see the results.

    0 讨论(0)
提交回复
热议问题