1. 程式人生 > >linux 遠端連線管理

linux 遠端連線管理

1.Openssh服務
SSH可以在本地主機和遠端伺服器之間進行加密地傳輸資料,實現資料的安全。OpenSSH是SSH協議的免費開源實現
當主機開啟了openssh服務就意味著開啟了遠端連線的介面

SSH的工作原理
SSH是由服務端和客戶端組成,服務端是一個守護程序,它在後臺執行並響應來自客戶端的連線請求
openssh服務的服務端是 sshd
openssh服務的客戶端是ssh
2.配置ssh服務
ssh服務的配置檔案 sshd_config
vi /etc/ssh/sshd_config
對配置檔案進行如下修改(根據自身實際情況可有所調整):

Port 22  //預設使用22埠,也可以自行修改為其他埠
 #ListenAddress   //指定提供ssh服務的IP
 PermitRootLogin   //禁止以root遠端登入
 PasswordAuthentication  yes  //啟用口令驗證方式
 PermitEmptyPassword   //禁止使用空密碼登入
 LoginGraceTime  1m   //重複驗證時間為1分鐘
 MaxAuthTimes   3    //最大重試驗證次數

重啟ssh服務
service sshd restart
通過密碼對進行登入

1).在客戶端生成金鑰對

注:生成金鑰對前,需使用者身份。例如:當user1需要登入到服務端時,user1必須在客戶端生成自己的金鑰檔案。其他使用者也一樣。
  # su - user1
  # ssh-keygen -t rsa    //生成金鑰檔案
  Generating public/private rsa key pair.
  Enter file in which to save the key (/root/.ssh/id_rsa):   //按回車
  Enter passphrase (empty for no passphrase): //設定保護私鑰檔案的密碼,即金鑰登入時的密碼
  Enter same passphrase again:  //再次輸入保護私鑰檔案的密碼
  Your identification has been saved in /root/.ssh/id_rsa.
  Your public key has been saved in /root/.ssh/id_rsa.pub.
  The key fingerprint is:
  33:ee:01:7d:c3:74:83:13:ef:67:ee:d7:60:2d:e1:16 
[email protected]

  ll -a .ssh/
 total 16
drwx------. 2 root root   57 Nov 14 03:09 .
dr-xr-x---. 5 root root 4096 Nov 14 01:40 ..
-rw-------. 1 root root 1675 Nov 14 03:09 id_rsa //建立的私鑰
-rw-r--r--. 1 root root  392 Nov 14 03:09 id_rsa.pub	//建立的公鑰
-rw-r--r--. 1 root root  350 Nov 14 02:14 known_hosts

2)將公鑰檔案上傳到伺服器
scp .ssh/id_rsa.pub

[email protected]:/home/user1/
3).在伺服器端,將公鑰檔案新增到相應使用者的金鑰庫裡
  mkdir -p /home/user1/.ssh/ //注意,這裡建立的。ssh目錄許可權必需是除自己外,對其他使用者只讀,也就是許可權位設定為644,
  mv /home/user1/id_rsa.pub /home/user1/,ssh/authorized_keys //由於生成的公鑰名稱與指定的公鑰名稱不符,因此需要將生成的檔名換成authorized_keys即可。
4).修改sshd_config配置檔案:

 vim /etc/ssh/sshd_config
PasswordAuthentication  no  //禁用口令驗證方式,不能把原有的PasswordAuthentication  yes註釋掉,註釋後,就算沒有公鑰也能通過口令登入,這樣不安全,而且失去了金鑰驗證的意義。
  RSAAuthentication yes   //啟用RSA驗證
  PubkeyAuthentication yes  //啟用公鑰驗證
  AuthorizedKeysFile     .ssh/authorized_keys   //啟用公鑰檔案位置,後面的路徑是設定公鑰存放檔案的位置
  儲存修改好的配置,退出。

5).重啟sshd服務
  service sshd restart

3.登入伺服器
  1.Linux客戶機
   ssh 192.168.1.100 //輸入伺服器IP登入,不加使用者名稱預設以root身份登入
  或者 ssh [email protected] //以user1身份登入伺服器
檔案傳輸

1.從伺服器上下載檔案

scp [email protected]:/path/filename /var/www/local_dir(本地目錄)

2.上傳本地檔案到伺服器

scp /path/filename [email protected]:/path

3.從伺服器下載整個目錄

scp -r [email protected]:/var/www/remote_dir/(遠端目錄) /var/www/local_dir(本地目錄)

4.上傳目錄到伺服器

scp -r local_dir [email protected]:remote_dir