SSHの使用時にアドレスを永続的に保存する


12

ターミナルを介して接続するリモートサーバーがいくつかあります。サーバーにはドメインがなく、IPアドレスのみがあります。IPアドレスは、それらのいくつかを入手したときに覚えにくいものです。

ターミナルに値を永続的に保存する方法はありますか?

server1 = 111.222.111.222

そして、次のようなコマンドを入力します。

ssh root@server1

の代わりに:

ssh root@111.222.111.222

回答:


22

SSH接続の場合、ユーザー構成ファイル~/.ssh/configを作成し、そこにマッピングを配置できます。

Host server1
  Hostname      111.222.111.222

Port(非標準ポートのUser場合)や(リモートシステムのユーザー名がローカルシステムのユーザー名と異なる場合に便利です)などの他のフィールドを簡単に追加できます。詳細についてはman ssh_config、を参照してください。


14

はい、それらをファイルに書き留めてください/etc/hosts。次の構文があります。

1.2.3.4 servername additional_servername

どこ:

  • 1.2.3.4 IPアドレスです
  • servername 名前です
  • additional_servername オプションの名前です

保存後、名前でサーバーにアクセスできます。


@theusualこれがあなたが行った答えである場合、それを受け入れることを検討してください(上/下投票ボタンの下のチェックマーク)。
jpmc26

8

もちろん、特定の問題については、@ chaosおよび@steeldriverのアドバイスに従うことをお勧めしますが、一般的な場合、「ターミナルに値を永続的に保存する」ために、シェル変数を探しています。それらをどのように設定するかはあなたのシェルに依存します(echo $SHELL関連情報を提供すると思います)。

「恒久的」による場合は、その後、あなたは、単に使用することができ、「長い間、私はこの端末セッションを終了しないようにと」を意味export server1=111.222.111.222あなたはしているが、使用している場合は、コマンドをbashベースシェル(setenv server1 111.222.111.222のためのcsh/tcshベースのシェルを、私の記憶が正しければ)。それから、変数の前に$ :を付けることで変数にアクセスできますssh root@$server1

「永続的に」という意味が「新しいターミナルを起動するたびに」という場合は、シェルの初期化ファイルの1つに変数を設定する必要があります。たとえば、$HOME/.bashrcfor bashベースのシェル、または$HOME/.cshrc—前の段落で述べたのと同じ構文を使用すると思われます。initファイルを入手する必要があることに注意してください(source $HOME/.bashrcまたは、変更を考慮するために新しいシェルを開く必要があります)。

注意:メモリからの回答は、若干の調整が必要になる場合があります。


2
パーマネントによって、コンピューターが再起動された場合でも言及します。これを見てみましょう。いつか役に立つかもしれません。
通常の

次に、2番目の方法が適用されます(シェルの初期化ファイル)。
スキッピールグラングロウ

1

質問に対する直接的な答えではありません(カオスとスチールドライバーは、私が最高の文字通りの解決策だと思うものをすでに提供しています)が、ほとんどの場合に1つのアドレスの1人のユーザーにsshする必要がある場合は、編集を見てください.bash_aliasesターミナルコマンド全体のエイリアスを作成できるため、ホームディレクトリ内のファイルが役立つはずです。


0

具体的な答えはとても良いです。

ただし、一般的に、シェルでいくつかのことを定義/セットアップしたい場合は、スクリプトを作成してそれを実行し、そのセットアップを有効にしsourceたり.、必要なときに実行したりします。

常に必要なものである場合は、.profile(ログインシェルの場合)またはすべてのシェルの.bashrc(bashを使用する場合)でソースできます。

このようなアプローチを使用すると、最初に別のスクリプトを呼び出した後にスクリプトの1つを呼び出した場合に、それらが互いに踏まないことを確認する限り、必要に応じて複数のスクリプトを使用して異なる作業環境をセットアップできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.