Feeds:
文章
留言

Archive for 九月 19th, 2005

公私鑰的建立參考我之前寫的"如何利用 plink 透過 ssh 連線執行遠端命令",假這公私鑰這步驟已經完成,要讓putty完成無須輸入帳號密碼登入必須完成以下三個步驟
1. 載入 SSH Session 資訊
 
2. 設定自動登入的帳號
3. 引用產生好的 private key
4. 連線
廣告

Read Full Post »

1. 建立公私鑰-使用 ssh-keygen
ssh-keygen -t dsa
 
家目錄的 .ssh 下產生 id_dsa.pub 公鑰檔案
 
2. 公鑰(public key)複製到遠端server,並將公鑰資訊加入用戶家目錄 .ssh 中的 authorized_keys 文件:
cat id_dsa.pub >> /root/.ssh/authorized_keys
並賦予該檔案 600 權限
chmod 600 authorized_keys
 
3. 測試
 

Read Full Post »

如果妳看過我前幾篇寫的文章,就會知道我再找尋 SSH 的元件,可惜因為找不到免費有又好用的元件,進而找尋其他替代方案,目前有一個解決方法是透過視窗來控制 putty 來達成我的目的,而這篇文章是另一個解決方法,plink 是可以透過命令模式直接執行遠端的命令,且無需輸入帳號密碼,方法如下:

1. 建立公私鑰(public key and private key)

使用 puttygen.exe 建立 SSH1-RSA 的 KEY,選取"SSH1-(RSA)"然後點選"Generate",之後移動你的滑鼠游標直到進度列達100%,最後點選"Save public key"和"Save private key"分別儲存公私鑰成檔案為 ssh1_public_key 和 ssh1_private_key.ppk

 

2. 將公鑰放到 Server 端

將 ssh1_public_key 複製到 server(~/.ssh/),將公鑰資訊加到 authorized_keys

cat ssh1_public_key >> authorized_keys

並賦予 authorized_keys 600 的權限

chmod 600 ./authorized_keys

 

3. 建立遠端執行命令的清單,command.txt 內容如下:

ls -al

 

4. 執行 command.txt 中的命令

plink -i ssh1_private_key.ppk root@192.168.147.128 -m command.txt

附註:

plink.exe 和 puttygen.exe 的下載網址 http://www.chiark.greenend.org.uk/~sgtatham/putty/

Read Full Post »

好用的SSH工具–Putty

官方網站:
 
特色:
1. 免安裝
2. 檔案小
3. 免費
4. 支援 Unix 和 Windows 平台
5. 支援 SSH1和 SSH2
6. 可以透過公鑰(public key)免輸入密碼SSH登入
7. 可以在自己的應用程式中透過 Plink (命令列連線工具)來使用 putty
 
常見問題:(只條列我有興趣的問題,其他可參考官方網站)
1. putty 的資料存放在何處
[Windows] 存放在登錄檔
HKEY_CURRENT_USERSoftwareSimonTathamPuTTY
 
Session 資訊存在 Sessions 下
熱鍵存放在 SshHostKeys 下
 
Putty 也需要亂數的種子檔(seed)來建立編碼,這個數值記錄在  PUTTY.RND 檔案中,這個檔案存放在Windows 的家目錄( %HOMEDRIVE%%HOMEPATH% )或家如家目錄不存在則是主要目錄(如: C:WinNT)。假如要變更種子的存放位置,可以修改下面的登錄檔HKEY_CURRENT_USERSoftwareSimonTathamPuTTYRandSeedFile
 
[Unix]
存放在  ~/.putty.
 
 

Read Full Post »

Process 類別提供對本機和遠端處理序 (Process) 的存取,並讓您能夠啟動和停止本機系統處理序。因此,可以透過 Process.Start 來處理指定的文件,所以,如果在 Start 的參數中給予一個電子信箱的超連結,就可以啟動系統中預設的電子郵件處理程式。如下:
 
System.Diagnostics.Process.Start("mailto:abc@hotmail.com");
 
其實他用起來很像是 Windows 下的 start,舉個例來說,你也可以在 Console 視窗下輸入
他也會啟動系統中預設的電子郵件處理程式。
 
因此,如果你熟悉 start,你也知道它可以驅動任何的文件,例如:
start test.txt
start a.doc
start b.jpg
來引用外部程式來顯示你的資料。

Read Full Post »

送出滑鼠右鍵和Enter給putty視窗

// API 宣告
  [DllImport("User32.dll",EntryPoint="FindWindow")]
  private static extern IntPtr FindWindow(string lpClassName, string lpWindowName); 
  [DllImport("User32.dll",EntryPoint="SendMessage")]
  private static extern int SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, string lParam);
  const int WM_RBUTTONDOWN = 0x0204;
  const int MK_RBUTTON     = 0x0002;
  const int WM_KEYDOWN  = 0x0100;
  const int VK_RETURN   = 0x000d;
 
// 程式片斷  
   // 1. 尋找視窗
   string lpszParentClass = "PuTTY";
   string lpszParentWindow = "192.168.147.128 – PuTTY";
   IntPtr ParenthWnd = new IntPtr(0);
   ParenthWnd = FindWindow(lpszParentClass,lpszParentWindow);
 
   Clipboard.SetDataObject("-ssh");
   // 2. 送出訊息
   if (!ParenthWnd.Equals(IntPtr.Zero)) {     
    SendMessage(ParenthWnd, WM_RBUTTONDOWN, (IntPtr)MK_RBUTTON, "");    
    SendMessage(ParenthWnd, WM_KEYDOWN, (IntPtr)VK_RETURN, "");    
   }else{
    MessageBox.Show("aaa");
   }

Read Full Post »

USB 教學網站

Read Full Post »

Older Posts »