以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
進行登錄,而不需要輸入用戶名與密碼了
遠程執行命令
簡單命令
雙引號,必須有。如果不加雙引號,第二個命令在本地執行
分號,兩個命令之間用分號隔開
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!"
遠程執行的內容在<< sshoff
至sshoff
之間,在遠程機器上的操作就位於其中
注意的點:
sshoff
可以隨便修改成其他形式
重定向目的在於不顯示遠程的輸出了
在結束前,加exit退出遠程節點