簡體   English   中英

IP地址的BASH標簽

[英]BASH label for IP addresses

我的錯:我一直在忙於學習其他Linux東西,以至於我完全忽略了bash的功能。

我有許多系統可以遠程訪問,以進行非常簡單的操作。 問題是我需要記住每個IP地址。 他們很多。

在〜。/ bashrc中使用別名是一種選擇:

 alias ssh_customer1='ssh root@10.X.X.X'
 alias ssh_customer2='ssh root@10.X.X.Y'
 alias copy_customer1='scp * root@10.X.X.X:/etc/example/'
 alias copy_customer2='scp * root@10.X.X.Y:/etc/example/'
 alias get_customer1='scp root@10.X.X.X:/etc/example/* .'
 alias get_customer2='scp root@10.X.X.Y:/etc/example/* .'

但是靈活性很小。

另一種可能性是使用系統名稱作為參數來定義函數,但我不喜歡這樣:

sshx('customer1')
scpx('customer2')

我寧願僅用相應的IP地址替換標簽,而無需記住它,並使用標准命令:

ssh root@ip_customer1
scp root@ip_customer2:/etc/example/* .

這可能嗎?

設置~/.ssh/config文件:

$ cat ~/.ssh/config
Host cust1
    HostName 10.X.X.X
    User root
Host cust2
    HostName 10.X.X.Y
    User root

現在您可以使用:

ssh cust1

另一個很酷的事情是,您現在可以將標識文件附加到每個服務器:

$ cat ~/.ssh/config
Host cust1
    HostName 10.X.X.X
    User root
    IdentityFile ~/.ssh/cust1.id_rsa
Host cust2
    HostName 10.X.X.Y
    User root
    IdentityFile ~/.ssh/cust2.id_rsa

假設密鑰沒有密碼或使用了ssh-agent,這將使您無需密碼即可使用ssh和scp。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM