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
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