Linux SysOpsÖÐʹÓÃSSH¾«¼ò²Ù×÷ÏÂÁîµÄ¼¼ÇÉ
Linux SysOpsÖÐʹÓÃSSH¾«¼ò²Ù×÷ÏÂÁîµÄ¼¼ÇÉ
СÐò£º
ÔÚLinuxϵͳÔËάÊÂÇéÖУ¬SSH£¨Secure Shell£©ÊÇÒ»ÖÖ³£ÓõÄÔ¶³ÌµÇ¼ÐÒ飬¿ÉÒÔͨ¹ýSSHÔ¶³ÌÅþÁ¬µ½Ð§ÀÍÆ÷²¢Ö´ÐÐÏÂÁȻ¶ø£¬ÔÚ¾ÙÐдó×ÚÖظ´ÐԵIJÙ×÷ʱ£¬Ê¹ÓÃSSH¿ÉÄÜ»á±äµÃ·±Ëö£¬Ð§ÂÊÒ²²»¸ß¡£±¾ÎĽ«ÏÈÈÝһЩʹÓÃSSH¾«¼ò²Ù×÷ÏÂÁîµÄ¼¼ÇÉ£¬Í¨¹ýÏêϸµÄ´úÂëʾÀý£¬×ÊÖúSysOpsÌá¸ßÊÂÇéЧÂÊ¡£
Ò»¡¢Ê¹ÓÃSSHÉèÖÃÎļþ
SSHÉèÖÃÎļþλÓÚÓû§Ö÷Ŀ¼ÏµÄ~/.sshĿ¼ÖУ¬Ê¹ÓÃÉèÖÃÎļþ¿ÉÒÔÀû±ãµØÉúÑĶà¸öSSHÅþÁ¬ÉèÖã¬Ìá¸ßÅþÁ¬ËÙÂʺÍÇå¾²ÐÔ¡£ÒÔÏÂÊÇÒ»¸ö¼òÆÓµÄSSHÉèÖÃÎļþµÄʾÀý£º
Host server1 Hostname 192.168.1.100 User myuser Port 22 IdentityFile ~/.ssh/id_rsa Host server2 Hostname 192.168.1.101 User myuser Port 22 IdentityFile ~/.ssh/id_rsa
µÇ¼ºó¸´ÖÆ
ͨ¹ýÕâÑùµÄÉèÖÃÎļþ£¬ÎÒÃÇ¿ÉÒÔʹÓÃÈçÏÂÏÂÁîÅþÁ¬µ½ÉèÖÃÎļþÖÐÖ¸¶¨µÄЧÀÍÆ÷£º
ssh server1
¶þ¡¢Ê¹ÓÃSSHÃÜÔ¿¶Ô
ΪÁË×èֹÿ´ÎSSHÅþÁ¬¶¼ÐèÒªÊäÈëÃÜÂ룬ÎÒÃÇ¿ÉÒÔʹÓÃSSHÃÜÔ¿¶ÔÀ´Íê³ÉÎÞÃÜÂëµÇ¼¡£ÒÔÏÂÊÇʹÓÃÃÜÔ¿¶ÔµÄ°ì·¨£º
ÌìÉúÃÜÔ¿¶Ô£º
ssh-keygen -t rsa
½«¹«Ô¿¸´ÖƵ½Ð§ÀÍÆ÷ÉÏ£º
ssh-copy-id server
²âÊÔÎÞÃÜÂëµÇ¼£º
ssh server
Èý¡¢Ê¹ÓÃSSHÏÂÁîÌø°å»ú
ÔÚһЩÇéÐÎÏ£¬ÎÒÃÇÐèҪͨ¹ýÌø°å»úÅþÁ¬µ½Ä¿µÄЧÀÍÆ÷¡£SSHÏÂÁîͨ¹ýProxyJump²ÎÊý¿ÉÒÔʵÏÖÕâÒ»¹¦Ð§¡£ÒÔÏÂÊÇÒ»¸öʾÀý£º
ssh -J jumpuser@jumpserver destinationuser@destinationserver
ÕâÑù¾Í¿ÉÒÔÖ±½Ó´ÓÍâµØÅþÁ¬µ½Ä¿µÄЧÀÍÆ÷£¬Ìø¹ýÌø°å»ú¡£
ËÄ¡¢Ê¹ÓÃSSHÅúÁ¿Ö´ÐÐÏÂÁî
µ±ÎÒÃÇÐèÒªÔÚ¶à¸öЧÀÍÆ÷ÉÏÖ´ÐÐͳһÏÂÁîʱ£¬¿ÉÒÔʹÓÃSSHÅúÁ¿Ö´ÐÐÏÂÁîµÄ·½·¨£¬¶ø²»ÐèÒªÖð¸öµÇ¼µ½Ã¿Ì¨Ð§ÀÍÆ÷¡£ÒÔÏÂÊÇÒ»¸öʾÀý£º
for server in $(cat servers.txt); do ssh $server “command”; done
Õâ¸öÏÂÁî»á´Óservers.txtÎļþÖÐÖðÐжÁȡЧÀÍÆ÷IP£¬È»ºóÅþÁ¬µ½Ã¿¸öЧÀÍÆ÷£¬²¢Ö´ÐÐÖ¸¶¨µÄÏÂÁî¡£
Î塢ʹÓÃSSH¹ÜµÀºÍÔ¶³Ì¶Ë¿Úת·¢
ÔÚijЩÇéÐÎÏ£¬ÎÒÃÇ¿ÉÄÜÐèҪͨ¹ýSSHÔÚÍâµØºÍÔ¶³ÌЧÀÍÆ÷Ö®¼ä½¨ÉèÒ»Ìõ¼ÓÃܵĹܵÀ£¬»òÕß¾ÙÐÐÔ¶³Ì¶Ë¿Úת·¢¡£ÒÔÏÂÊÇÒ»¸öʾÀý£º
ssh -L localport:localhost:remoteport server
Õâ¸öÏÂÁî»á½«ÍâµØ¶Ë¿ÚlocalportÓëÔ¶³ÌЧÀÍÆ÷µÄ¶Ë¿Úremoteport°ó¶¨ÔÚÒ»Æ𣬿ÉÒÔÔÚÍâµØÖ±½Ó»á¼ûÔ¶³ÌЧÀÍÆ÷µÄЧÀÍ¡£
½áÂÛ£º
ͨ¹ýʹÓÃSSHµÄÉèÖÃÎļþ¡¢ÃÜÔ¿¶Ô¡¢Ìø°å»ú¡¢ÅúÁ¿Ö´ÐÐÏÂÁî¡¢¹ÜµÀºÍÔ¶³Ì¶Ë¿Úת·¢µÈ¼¼ÇÉ£¬ÎÒÃÇ¿ÉÒÔÔÚLinux SysOpsÊÂÇéÖо«¼ò²Ù×÷ÏÂÁÌá¸ßЧÂÊ¡£Ï£ÍûÒÔÉϵļ¼ÇÉÄܶÔSysOpsÊÂÇéÕßÓÐËù×ÊÖú¡£
×÷ÕߣºÖÇÄÜÖúÊÖ
ÈÕÆÚ£º2021Äê10ÔÂ20ÈÕ
ÒÔÉϾÍÊÇLinux SysOpsÖÐʹÓÃSSH¾«¼ò²Ù×÷ÏÂÁîµÄ¼¼ÇɵÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡