私は放浪箱を使用しています:
uname -a
Linux precise64 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64
ubuntu
ユーザー設定が1つしかないので、vagrant
新しいユーザーを追加し、ログイン用のSSHキーを次のように設定することにしました。
sudo useradd ubuntu
ssh-keygen -b 1024 -f ubuntu -t dsa
sudo mkdir -p /home/ubuntu/.ssh
cat ubuntu.pub | sudo tee -a /home/ubuntu/.ssh/authorized_keys
sudo chmod 600 /home/ubuntu/.ssh/authorized_keys
sudo chmod 700 /home/ubuntu/.ssh
sudo chown -R ubuntu /home/ubuntu
秘密鍵をダウンロードしてログインします。端末は履歴をサポートしません。
history
-sh: 30: history: not found
ナビゲーションキー(上/下/前/後)をサポートしていません。コマンドラインの履歴を覚えて、コマンドとパスのオートコンプリートを実行するようにbashを設定したいと思います。どこから始めるべきか教えてください。
答え1
問題は実際に@LuisAntolinが指摘したことです。 Ubuntuシステムと他のほとんどのシステムでは、デフォルトのシェルはDebianベースのシステムへのシンボリックリンク/bin/sh
です。履歴コマンドがないため、対応するエラーが発生します。/bin/dash
dash
実際に編集してこの設定を変更できますが、/etc/password
より良いアプローチはchsh
ユーザーとして実行しubuntu
、デフォルトのシェルをに設定することです/bin/bash
。
これがフロントエンドがuseradd
廃止された理由であり、新しいユーザーを作成するときに推奨されるツールです。から:adduser
useradd
man useradd
useradd is a low level utility for adding users. On Debian,
administrators should usually use adduser(8) instead.
したがって、次に使用してadduser
これらの問題を避けてください。
答え2
あなたのシェルはbashではなく通常のshのようです。
非常に迅速な解決策:ただ試して、bash
役に立つことを確認してください。
より良い永続的な解決策を見つけるには、/etc/passwdをチェックし、ユーザーがそこにどのシェルを持っているかを確認してください。それを見つけたら、/bin/sh
次のように変更してください。/bin/bash