SSH基礎應用
一、不登陸遠端主機在上面建立使用者
# ssh root@遠端主機 ‘useradd xxxx’
二、登陸遠端主機,能打開GUI界面
# ssh -X root@遠端主機
三、主要的配置檔案更改
# vim /etc/ssh/sshd_config
UseDNS no 阻止DNS反解析(可提高用戶端登入效率)
LoginGraceTime 2m 登入限時(寬限期),若用戶端超過此時間(預設2分鐘)未登入成功,伺服器将主動斷開連接配接
StrictModes yes 嚴格模式,此模式會在允許登入前檢查使用者家目錄和密鑰庫檔案的權限、歸屬,若有異常(其他人能寫入)則拒絕登入
MaxAuthTries 6 每次連接配接允許認證登入的最多次數,若超過此次數仍未登入成功,伺服器将主動斷開連接配接
DenyUsers User1 User2
AllowUser User2 User2
DenyGroups GROUP1 GROUP2
AllowGroups GROUP1 GROUP2
sshd處理規則的先後順序,是從上到下執行的,Deny和Allow規則建議不要同時使用
隻用Deny規則時相當于黑名單政策(僅拒絕…,其他允許);
隻用Allow規則時相當于白名單政策(僅允許…,其他拒絕).
四.實作不用密碼即可連接配接ssh
1、生成密鑰對
# ssh-keygen ->後續全部回車
2、上傳公鑰到伺服器root使用者下
# ssh-copy-id -i root@伺服器IP位址
3、ssh到伺服器上或scp檔案都不再需要填寫密碼
4、當用戶端連接配接遠端伺服器時,會在用戶端目前使用者的家目錄下生成.ssh/known_hosts檔案,把伺服器的身份資訊儲存下來。下一次用戶端再連接配接時,就不再詢問是否繼續(yes/no)?
5、使用密鑰對方式連接配接時,用戶端生成的密鑰是使用者家目錄下.ssh/id_rsa和.ssh/id_rsa.pub,上傳時是将id_rsa.pub寫入到伺服器相關使用者家目錄下.ssh/authorized_keys檔案中
五.腳本實作更改多台伺服器的密碼
安裝expect工具
建立存放IP位址的檔案/root/bin/ipaddr.txt
因為需要更改的ip位址可能是不不規律的;
腳本
#!/bin/bash
OLDPASS=123456
NEWPASS=Taren1
for IP in $(cat /root/bin/ipaddr.txt)
do
expect<<EOF
spwan ssh $IP "echo $NEWPASS | passwd --stdin root"
expect "(yes/no)?"{
send "yes\r"
expect "password:"
send "$OLDPASS\r"
}"password:"{send "$OLDPASS\r"}
expect eof
EOF
done
本文轉自Jx戰壕 51CTO部落格,原文連結:http://blog.51cto.com/xujpxm/1403224,如需轉載請自行聯系原作者