回答
起初,沒有膩子命令。這些是shell命令。
要在shell中運行PHP腳本,你需要使用PHP-CLI:
如果您的意思是「如何通過SSH從我的網站(到另一臺服務器)進行連接」,則可以使用PECL ssh2庫執行此操作。
參見: http://pecl.php.net/package/ssh2
演練(未測試):http://kevin.vanzonneveld.net/techblog/article/make_ssh_connections_with_php/
我不知道,但我認爲(糾正我,如果我錯了),你想不想找個點擊網頁上的鏈接並打開putty(在用戶的計算機上)連接到服務器。
您可以配置膩子以處理ssh://鏈接。如何做到這一點,你可以找到here。
時配置所有你需要做的是有一個類似的鏈接:
<a href="ssh://[email protected]">Click here to connect</a>
有想法,這將工作僅在配置處理系統的ssh://鏈接類型
我希望這可以回答你的問題。
感謝您的回覆。我現在會檢查它。 –
這就是你如何通過PHP使用putty(不依賴於cli)。請注意,密碼不受保護,交互式ssh會話會涉及更多。但是,HTTPS和mcrypt(如果需要存儲密碼和/或bash腳本)可以使其成爲安全的解決方案。
<?php
// EDIT: added escapeshellcmd() to following vars
$user = escapeshellcmd($_POST['user']); // username
$host = escapeshellcmd($_POST['host']); // domain
$pass = escapeshellcmd($_POST['pass']); // password
// create a string that will be loaded into a bash file for putty
// String can easily be made dynamically.
$bash_sh = <<<EOF #START OF BASH
\#!/bin/bash
echo "BASH ON SSHD SIDE"
for ((i=1; i<=5; i++)) # BASH FOR LOOP
do
echo "echo \$i times in bash" #\$i is BASH not PHP, so have to escape
done
EOF; #END OF BASH
// creates a temp file called 'bash.sh' using the bash script above
file_put_contents("bash.sh", $bash_sh);
// executes putty using the args -ssh, -pw, -t, -m
// -ssh tells putty to use ssh protocol
// -pw tells putty to enter the password automaticaly
// -t tells putty to use a psudo terminal.
// -m tells putty read and execute bash.sh once logged in
exec("putty.exe -ssh ".$user."@".$host." -pw ".$pass." -t -m bash.sh");
// delete bash file since it has been sent
unlink('bash.sh');
?>
還注意到您需要使用escapeshellcmd()來防止命令行注入。 – JSON
- 1. PHP Seclib關閉連接SSH
- 2. TideSDK php通過ssh連接
- 3. 從Windows自動連接SSH?
- 4. SSH:只接受來自本地主機的密碼連接
- 5. 解決來自PHP的MSSQL連接
- 6. 通過PHP代碼的SSH連接
- 7. 在PHP中的SSH連接和命令
- 8. 連接到來自不同主機的SSH轉發端口
- 9. 我想通過來自Contenido的SSH連接到數據庫
- 10. 來自Python的SSH隧道連接太慢
- 11. 來自MAC OSX的ssh 10.8.5連接拒絕
- 12. ssh連接上連接
- 13. 來自PHP的MSSQL數據庫連接(sqlsrv_close連接問題)
- 14. ssh連接
- 15. SSH連接`authorized_keys`
- 16. Haskell SSH連接
- 17. C#SSH連接
- 18. SSH連接Java
- 19. 通過PHP連接到Amazon EC2實例的SSH連接
- 20. 如何連接PHP中的中級ssh服務器連接
- 21. php ssh連接:select子系統
- 22. 通過SSH從PHP腳本連接
- 23. PHP-SSH代碼連接到路由器
- 24. 窗口 - PHP SSH遠程連接
- 25. Net :: SSH :: Perl中的SSH連接超時
- 26. MacRuby:與net/ssh的SSH連接?
- 27. SSH反向連接
- 28. ssh連接超時
- 29. Jelastic Apache SSH連接
- 30. ssh連接拒絕
爲什麼你認爲你需要打開膩子? – sberry
當我點擊一個鏈接時,我需要使用提供的用戶名ssh到服務器。 –
那你會怎麼做?你期望它是互動的嗎? – sberry