Linux SSH 遠程
時間:2018-09-28 來源:未知
一、原理:
使用SSH連接Centos時,我們可以創建一個公鑰和一個私鑰,公鑰放在服務端,私鑰放在客戶端,當客戶端去連接服務端時,會先去查找密鑰,
要是客戶端的私鑰可以和服務端的公鑰匹配,我們就可以免密碼登錄,要是無法匹配,就需要我們去輸入密碼
二、實現步驟:
1、先配置ssh
打開SSH的配置文件 ( /etc/ssh/sshd_config),找到以下內容,并去掉注釋:
RSAAuthentication yes # 打開RSA認證
PubkeyAuthentication yes # 打開密鑰認證
AuthorizedKeysFile .ssh/authorized_keys # 公鑰
配置好之后重啟ssh服務:/sbin/service sshd restart
2、生成公鑰和私鑰:
ssh-keygen -t rsa ( -t 指定生成的密鑰為 rsa認證),一路回車就可以了,會在 /root/.ssh/目錄下生成兩個文件 id_rsa(私鑰)、id_rsa.pub(公鑰)
3、修改 id_rsa.pub 的名稱:
mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
4、將私鑰拷貝到客戶端:
如果客戶端是Linux系統,直接將文件放在 /root/.ssh/ 目錄下就可以,這里我用的是Windows,然后我們需要用 Xshell 去連接服務器,
打開Xshell,新建連接, 在 主機 那里輸入你服務器的 IP 地址,然后點擊用身份驗證,在方法那里選擇 Public Key,用戶名 那里輸入服務器給你提供的
賬戶,然后點擊瀏覽,點導入,找到你從服務器上拷貝下來的私鑰,點打開,然后點確定 -> 確定 -> 連接就可以連接上了
三、scp 拷貝文件
1、將一個文件/目錄從遠程機器 scp 到本地機器
# 在 xshell 中,使用如下命令:
[root@Demon ~]# scp /home/demon/id_rsa Demon@192.168.1.57:/D:/
2、將一個文件/目錄從本地機器 scp 到遠程機器
[root@Demon ~]# scp Demon@192.168.1.57:/D:/1.txt /home/demon
四、寫一個腳本,從一個文本文件中讀取 IP 列表(每行一個 IP),并 SSH 登錄這些 IP 所在的機器,將 /var/log/message 文件清空
#!/bin/bash
#Filename:test.sh
while read line;
do
upt="ssh -nt -t root@$line rm -f /var/log/message";
$upt;
done < test_ip.txt

