Java ʹÓÃSSHÁ¬½ÓLinux ʹÓÃpasswdÃüÁîÐÞ¸ÄÃÜÂë
ʹÓÃInputStreamºÍOutputStreamÀ´»ñµÃÃüÁîÐÐÔËÐнá¹ûºÍÊäÈëÄÚÈÝÊÇÊ×ÏÈÐèÒª¾ß±¸µÄ.
È»ºóÒª½â¾öSSHÁ¬½ÓÎÊÌâ.
ÔÚOpenSourceÏîÄ¿ÀïÕÒµ½ÁËGanymed SSH-2 for Java .ÏÂÔØºóÓÐÀý×Ó,µ«ÊÇûÓÐÕÒµ½Óйؽ»»¥ÃüÁîµÄÀý×Ó.ËùÒÔ×Ô¼ºÌ½Ë÷ÁËÒ»ÏÂ
ÔÚÍøÉÏ¿´ÓÐÀÏÍâÌÖÂÛÓÃÕâ¸öÈçºÎ¸ÄÃÜÂë,»ù±¾ÉϵÄÎÊÌâ¶¼ÊÇÒòΪÕÒ²»µ½·µ»ØµÄÌáʾ
LinuxÐÞ¸ÄÃÜÂëÊäÈëpasswdºó,Ê×ÏÈÊÇÊäÈ뵱ǰÃÜÂë,È»ºóÊÇÊäÈëÁ½¸öÐÂÃÜÂë
Èç¹ûµ±Ç°ÃÜÂëÊäÈë´íÎó,»òÕßÐÂÃÜÂëÊäÈë²»·ûºÏϵͳÃÜÂë¹æÔòÒªÇó,»áÒªÇóÖØÐÂÊäÈë.Èç¹ûÅöµ½ÕâÖÖÇé¿ö,³ÌÐòºÜÈÝÒ×½øÈëÒ»¸ö²»Ì«ºÃ¿ØÖƵÄÑ»·.
¿ÉÄÜÒ»°ãÈ˶¼ÈÏΪÊäÈëÃüÁîºóËùÓеķµ»Ø¶¼Ó¦¸ÃÊÇÓÃsession.getStdout();¶ø²»ÊÇsession.getStderr();´Ó·½·¨Ãû³ÆÉÏ¿´È·ÊµÈç´Ë,Ò»¸öÊÇÈ¡µÃ±ê×¼Êä³ö,Ò»¸öÊÇÈ¡µÃ´íÎóÐÅÏ¢.
ÆäʵÔÚÊäÈëpasswdºó.
Changing password for user [username].
Changing password for [username]
ÕâÁ½ÐÐÊÇÐèҪͨ¹ýsession.getStdout();À´»ñµÃµÄ.µ«ÊǺóÃæµÄ
(current) UNIX password:
New UNIX password:
Retype new UNIX password:
ÕâÈýÐÐÊÇÐèҪʹÓÃsessssion.getStderr();À´»ñÈ¡µÄ
Èç¹ûÓû§ÊäÈëûÓÐͨ¹ýϵͳ¼ì²â,»á·µ»Ø¾ßÌåÔÒò,µ«ÊǶ¼ÊÇBAD PASSWORD¿ªÊ¼µÄ.
Èç¹û×îºóÐ޸ijɹ¦ÁË.ÄãÒ²»á¿´µ½ÓÐsuccessfullyÀ´±íʾ.ÕâЩÐÅÏ¢ÊÇͨ¹ýsession.getStdout();À´»ñÈ¡µÄ.
ÏÖÔÚÎÊÌâºÜºÃ½â¾öÁ˰É.
дÁËÒ»¸öÀàÀ´Íê³ÉÐÞ¸ÄÃÜÂëµÄ²Ù×÷.
ºóÀ´Ê¹ÓÃÕâ¸ö·½·¨,ÏÖÔÚ¹«Ë¾ÄÚ²¿Ð½¨ÕʺÅÒÔ¼°ÕʺÅÉèÖÃ×Ô¶¯Óʼþ»Ø¸´¶¼¿ÉÒÔͨ¹ý×Ô¼ºµÄ¹ÜÀíϵͳÉèÖÃÁË.
import ch.ethz.ssh2.Connection;
import ch.ethz.ssh2.Session;
import ch.ethz.ssh2.StreamGobbler;
import com.io.Debug;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
public class ChangeEmailPassword {
private String username = "";
private String oldpassword = "";
private Connection conn = null;
private boolean hasError = false;
private String ErrorMessage = "";
private boolean isSuccessfully = false;
private String SystemMessage = "";
public static final String HOST = "127.0.0.1"; //server ip
public boolean isSuccessfully(){
return isSuccessfully;
}
public boolean isHasError(){
Ïà¹ØÎĵµ£º
Java Servlet API˵Ã÷Îĵµ£¨2.1a°æ£©£¨¶þ£©
API¶ÔÏóµÄ˵Ã÷\r
ÕâÒ»²¿·Ö°üº¬Á˶ÔJava Servlet APIµÄÈ«²¿ÀàºÍ½Ó¿ÚµÄÏêϸ˵Ã÷¡£Õâ¸ö˵Ã÷ÓëJavadoc API²î²»¶à£¬µ«ÊÇÕâ·ÝÎĵµÌṩÁ˸ü¶àµÄÐÅÏ¢¡£
API°üº¬ÁËÁ½¸öÈí¼þ°ü£¬Ê®¶þ¸ö½Ó¿ÚºÍ¾Å¸öÀà¡£
Èí¼þ°ü£ºjavax.serv ......
¡ñÀûÓÃsplitº¯Êý£º String s = new String("2_8_7_4_3_9_1"); String[] arr = s.split("_"); JavaÖÐÓÃsplitº¯Êý½øÐзָî×Ö·û´®¡£ 1.Óï·¨ÈçÏ String.split(sourceStr,maxSplit) String.split(sourceStr) ²ÎÊý˵Ã÷£ºsourceStrÊDZ»·Ö¸îµÄ×Ö·û´®£¬maxSplitÊÇ×î´óµÄ·Ö¸îÊý ·µ»ØÖµËµÃ÷£ºsplitº¯ÊýµÄ·µ»ØÖµÊÇÒ»¸ö×Ö ......
Ò».ÖØÔØ£º¼´Í¬Ãû·½·¨²»Í¬²ÎÊý£»¶à̬£ºÍ¬Ãûͬ²Î·½·¨£¬ÔÚ¾ßÓм̳йØÏµµÄÀàÖеĶ¯Ì¬Ñ¡Ôñ
¶þ.ÖØÔØ´«Èë²ÎÊýÊý¾ÝÀàÐÍСÓÚ·½·¨ÉùÃ÷²ÎÊýÀàÐÍʱ£¬»á±»×Ô¶¯ÌáÉý¡£char ÀàÐͻᱻֱ½ÓÌáÉýΪint¡£ÐéÄâ»ú¾ÍÊÇÓÃint±íʾcharµÄ¡£
Èý.static·½·¨ÄÚ²¿²»Äܵ÷Ó÷Çstatic·½·¨£¬·´Ö®¿ÉÒÔ¡£
ËÄ.¶ÔÓÚ·½·¨¾Ö²¿±äÁ¿£¬Èç¹ûδ³õʼ»¯¾Íµ÷Ó㬱àÒë´íÎó¡ ......
ls :²é¿´µ±Ç°Ä¿Â¼ÏµÄÎļþ
ls -l ;ÒÔÍêÕû¸ñʽ²é¿´Îļþ
help;²é¿´°ïÖúÐÅÏ¢
man;Ò²ÊDz鿴°ïÖúÐÅÏ¢,µ«ÊDZÈhelp¸üÏêϸ
info;ͬÑùÊDz鿴°ïÖúÐÅÏ¢,±Èman¸üÏêϸ
cp;¿½±´Îļþ(Ò²¿ÉÒÔ¿½±´Ä¿Â¼)
mv;ÒÆ¶¯Îļþ»òÕßÖØÃüÃû
rm;ɾ³ýÎļþ
pwd;²é¿´ÎļþµÄÍêÕû·¾¶
touch ;´´½¨¿ÕÎļþ
cd;¸Ä±äµ±Ç°Â·¾¶
cat;²é¿´ÎļþÄÚÈÝ
mor ......
×÷ÕߣºÎ¤¶«É½,»ªÇåÔ¶¼ûǶÈëʽѧԺ½²Ê¦¡£
Ëæ×ÅǶÈëʽÐÐÒµÓ²¼þƽ̨µÄÐÔÄÜÔöÇ¿£¬ÏîÄ¿ÐèÇóºÍ¹¦ÄÜÈÕÒæ¸´ÔÓ£¬ARM¹«Ë¾ÍƳöµÄ CORTEX-M3£¬¸üÊÇÈÃÒÔÍù×öµ¥Æ¬»úµÄ¹¤³ÌʦÔÚоƬºÍ¼¼ÊõÑ¡ÐÍÃæÁÙÁ½ÄÑÑ¡Ôñ£¬±¾×¨Ì⽫´ÓоƬ¼Û¸ñ¡¢Õû¸öϵͳµÄÓ²¼þÈí¼þÉè¼Æ¼°Î¬»¤µÄ³É±¾µÈ¸÷¸ö·½Ãæ¸øÄúÌṩһ¸ö²Î¿¼£¬ ²¢´Ó¼¼Êõ½Ç¶È·ÖÎöµ¥Æ¬»úºÍ´ø²Ù×÷ϵͳµÄÏµÍ ......