天天看點

SSH基礎應用

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,如需轉載請自行聯系原作者