ssh密鑰登錄及遠程執行命令


192.168.1.104作為客戶機
192.168.1.103作為服務器

使用密鑰登錄

創建密鑰對

在SSH客戶機創建用戶秘鑰對

ssh-keygen -t rsa 之后全回車即可
將會在~/.ssh目錄中生成兩個文件:id_rsa(私鑰) 與 id_rsa.pub(公鑰)

上傳公鑰文件

當然,也可以直接將內容拷貝粘貼

scp ~/.ssh/id_rsa.pub chencye@192.168.1.103:~/.ssh/id_rsa.pub_192.168.1.104

導入公鑰信息

在SSH服務器中導入公鑰文本
在服務器中,目標用戶(用來遠程登錄的用戶)的公鑰數據庫位於~/.ssh/目錄下,默認文件名是authorized_keys
注意修改authorized_keys權限

# 如果authorized_keys不存在,則創建它
touch ~/.ssh/authorized_keys
# 將上傳的公鑰添加到authorized_keys后面
cat ~/.ssh/id_rsa.pub_192.168.1.104 >> ~/.ssh/authorized_keys
# 修改authorized_keys權限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
# 查看authorized_keys最后一行
tail -1 ~/.ssh/authorized_keys

使用密鑰對登錄

在客戶機上,可以直接使用命令ssh 192.168.1.103進行登錄,而不需要輸入用戶名與密碼了

遠程執行命令

http://www.cnblogs.com/ilfmonday/p/ShellRemote.html

簡單命令

雙引號,必須有。如果不加雙引號,第二個命令在本地執行
分號,兩個命令之間用分號隔開

ssh chencye@192.168.1.103 "cd ~ ; touch ssh.txt"

使用腳本執行多命令

#!/bin/bash
ssh chencye@192.168.1.103 > /dev/null 2>&1 << sshoff
    cd ~
    touch autossh.txt
exit
sshoff

echo "done!"

遠程執行的內容在<< sshoffsshoff之間,在遠程機器上的操作就位於其中
注意的點
sshoff可以隨便修改成其他形式
重定向目的在於不顯示遠程的輸出了
在結束前,加exit退出遠程節點


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM