[英]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.