『壹』 linux 使用scp命令從一台機器復制文件到另一台linux機器上去
scp是 secure 的縮寫, scp是 linux 系統下基於ssh登陸進行安全的遠程文件拷貝命令。 linux 的scp命令可以在linux 伺服器 之間復制文件和目錄.
scp命令基本格式:
scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]host1:]file1 [...] [[user@]host2:]file2
scp命令的參數說明:
-1
強制scp命令使用協議ssh1
-2
強制scp命令使用協議ssh2
-4
強制scp命令只使用IPv4定址
-6
強制scp命令只使用IPv6定址
-B
使用批處理模式(傳輸過程中不詢問傳輸口令或短語)
-C
允許壓縮。(將-C標志傳遞給ssh,從而打開壓縮功能)
-p 保留原文件的修改時間,訪問時間和訪問許可權。
-q
不顯示傳輸進度條。
-r
遞歸復制整個目錄。
-v 詳細方式顯示輸出。scp和ssh(1)會顯示出整個過程的調試信息。這些信息用於調試連接,驗證和配置問題。
-c cipher
以cipher將數據傳輸進行加密,這個選項將直接傳遞給ssh。
-F ssh_config
指定一個替代的ssh配置文件,此參數直接傳遞給ssh。
-i identity_file
從指定文件中讀取傳輸時使用的密鑰文件,此參數直接傳遞給ssh。
-l limit
限定用戶所能使用的帶寬,以Kbit/s為單位。
-o ssh_option
如果習慣於使用ssh_config(5)中的參數傳遞方式,
-P port 注意是大寫的P, port是指定數據傳輸用到的埠號
-S program
指定加密傳輸時所使用的程序。此程序必須能夠理解ssh(1)的選項
scp命令的實際應用
本地復制遠程文件:(把遠程的文件復制到本地)
scp [email protected]:/val/test/test.tar.gz /val/test/test.tar.gz
遠程復制本地文件:(把本地的文件復制到遠程主機上)
scp /val/test.tar.gz [email protected]:/val/test.tar.gz
本地復制遠程目錄:(把遠程的目錄復制到本地)
scp -r [email protected]:/val/test/ /val/test/
遠程復制本地目錄:(把本地的目錄復制到遠程主機上)
scp -r /val/ [email protected]:/val/
註:復制的是目錄的話就要加-r參數
當同時有多個伺服器的文件要復制到本地目錄:
scp [email protected]:/var/cp1.tar.gz [email protected]:/var/cp2.tar.gz /var/tmp/
注意:最後面的一個必需是目錄,前面的必須是文件,才能成功批量復制,復制中會提示多次輸入密碼。
『貳』 java ganymed-ssh2,session 執行多條命令,最好可以在前一條的基礎上,執行下一條。
多行命令用分好隔開就行了! 如「cd /home;ls -l」
『叄』 ssh 命令怎麼用
ssh命令用法:ssh+加要執行的命令,需在SSH 2客戶端上使用。
1、SSH客戶端版本查看。
有時需確認SSH客戶端及其相應的版本號。使用ssh -V命令可以得到版本號。注意,Linux一般自帶的是OpenSSH: 下面例子即表明該系統正在使用OpenSSH:
$ ssh -V OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003。
下面的例子表明該系統正在使用SSH2:
$ ssh -V ssh: SSH Secure Shell 3.2.9.1 (non-commercial version) on i686-pc-linux-gnu。
2、用SSH登錄到遠程主機。
當第一次使用ssh登錄遠程主機時,會出現沒有找到主機密鑰的提示信息。輸入"yes"後,系統會將遠程主機的密鑰加入到主目錄下.ssh/hostkeys下,這樣就可繼續操作。
3、調試SSH客戶端會話。
當ssh連接出現問題時,需通過查看調試信息來定位這些錯誤。使用v選項(注意:是小寫的v),即可查看調試信息。
4、用SSH退出符切換SSH會話。
遠程登陸到一台主機A,然後從A登陸到B,如希望在A上做操作,還得再開一個終端。
當使用ssh從本機登錄到遠程主機時,希望切換到本地做一些操作,然後再重新回到遠程主機。這時,不需中斷ssh連接,只需按照如下步驟操作即可:
當已經登錄到了遠程主機時,可能想要回到本地主機進行一些操作,然後又繼續回到遠程主機。
(1)登入遠程主機:
localhost$ ssh -l jsmith remotehost。
(2)已連接遠程主機:
remotehost$。
(3)要臨時回到本地主機,輸入退出符號:「~」與「Control-Z」組合。
當輸入「~」不會立即在屏幕上看到,按下<Control-Z>並且按回車之後一起顯示。如下,在遠程主機中以此輸入「~<Control-Z>」remotehost$ ~^Z [1]+ Stopped ssh -l jsmith remotehost localhost$。
(4)已經退回到本地主機,ssh遠程客戶端會話就在UNIX後台中運行,可向下面那樣查看它:
localhost$ jobs [1]+ Stopped ssh -l jsmith remotehost。
(5)可將後台運行的ssh會話進程切換到前台,重新回到遠程主機,而無需輸入密碼:localhost$ fg %1 ssh -l jsmith remotehost remotehost$。
5、用SSH退出字元會話,顯示信息。
要取得一些關於當前會話有用信息,可按以下方式完成。這只能在SSH 2客戶端上使用。
登錄到遠程伺服器:localhost$ ssh -l jsmith remotehost。
在遠程伺服器上,輸入ssh退出字元~並輸入s。會顯示出很多有關當前ssh連接的有用信息。
『肆』 java ssh登陸交換機執行命令
第一步下載java擴展包
第二步:解壓文件把 jar包,拷貝到java的庫目錄下,我的是ubuntu14(/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext )
cp ganymed-ssh2-build210.jar /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext
第三步: 把默認賬戶修改成直接的賬戶密碼
yang@yang:~/Downloads/java/ganymed-ssh2-build210/examples$ cat Basic.java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import ch.ethz.ssh2.Connection;
import ch.ethz.ssh2.Session;
import ch.ethz.ssh2.StreamGobbler;
public class Basic
{
public static void main(String[] args)
{
String hostname = "127.0.0.1";
String username = "user";
String password = "password";
try
{
Connection conn = new Connection(hostname);
conn.connect();
boolean isAuthenticated = conn.authenticateWithPassword(username, password);
if (isAuthenticated == false)
throw new IOException("Authentication failed.");
Session sess = conn.openSession();
sess.execCommand("uname -a && date && uptime && who");
System.out.println("Here is some information about the remote host:");
InputStream stdout = new StreamGobbler(sess.getStdout());
BufferedReader br = new BufferedReader(new InputStreamReader(stdout));
while (true)
{
String line = br.readLine();
if (line == null)
break;
System.out.println(line);
}
System.out.println("ExitCode: " + sess.getExitStatus());
sess.close();
conn.close();
}
catch (IOException e)
{
e.printStackTrace(System.err);
System.exit(2);
}
}
}
第四步: 編譯 javac Basic.java && java Basic
Here is some information about the remote host:
Linux yang 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
2014年 05月 03日 星期六 17:26:00 CST
17:26:00 up 6:09, 4 users, load average: 0.15, 0.21, 0.23
yang :0 2014-05-03 11:17 (:0)
yang pts/2 2014-05-03 16:34 (:0)
yang pts/26 2014-05-03 17:13 (:0)
yang pts/27 2014-05-03 17:24 (:0)
ExitCode: 0
『伍』 xshell 6 的使用以及常用命令(附下載)
Xshell 是一個強大的安全終端模擬軟體,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 協議。Xshell 通過互聯網到遠程主機的安全連接以及它創新性的設計和特色幫助用戶在復雜的網路環境中享受他們的工作。
如何安裝,請參考如下:
命令ls——列出文件
ls 顯示當前目錄文件
ls -la 給出當前目錄下所有文件的一個長列表,包括以句點開頭的「隱藏」文件
ls a* 列出當前目錄下以字母a開頭的所有文件
ls -l *.doc 給出當前目錄下以.doc結尾的所有文件
命令cp——復制文件
cp afile afile.bak 把文件復制為新文件afile.bak
cp afile /home/bible/ 把文件afile從當前目錄復制到/home/bible/目錄下
cp * /tmp 把當前目錄下的所有未隱藏文件復制到/tmp/目錄下
cp -a docs docs.bak 遞歸性地把當前目錄下的docs目錄復制為新目錄docs.bak,保持文件屬性,並復制所有的文件,包括以句點開頭的隱藏文件。為了方便起見,-a選項包含-R選項
cp -i 在覆蓋前詢問用戶
cp -v 告訴用戶正在做什麼
命令rm——刪除文件和目錄 rm afile 刪除文件afile
rm * 刪除當前目錄下的所有文件(未隱藏文件)。rm命令不刪除目錄,除非也指定了-r(遞歸)參數。
rm -rf domed 刪除domed目錄以及它所包含的所有內容
rm -i a* 刪除當前目錄下所有以字母a開頭的文件,並且在每次刪除時,提示用戶進行確認
4
命令mv——移動和重命名文件 mv aflie bfile 將afile重命名為bfile
mv afile /tmp 把當前目錄下的afile移動到/tmp/目錄下
5
命令cd——更改目錄
cd 切換到主目錄
cd ~ 切換到主目錄
cd /tmp 切換到目錄/tmp
cd dir 切換到當前目錄下的dir目錄
cd / 切換到根目錄
cd .. 切換到到上一級目錄
cd ../.. 切換到上二級目錄
cd ~ 切換到用戶目錄,比如是root用戶,則切換到/root下