さて。今回の記事もこの本を読みながら、
サーバーを立てていた時に困っていて、
人力検索で解決したことをメモ書き。WindowsのTeraTermで公開鍵を作成し、
Linuxのサーバーで登録しようとした時のことです。
(P.206あたり)
困りごとの内容
Linux上で作成し、パーミッションを変更した
ファイルとディレクトリを削除するためには、
どうすれば良いか?
困りごとの詳細
一般ユーザーのホームディレクトリ上に
公開鍵のファイル(id_rsa.pub)を置いています。
このファイルの内容を下記のコマンドで、
/.ssh/authorized_keysに書き込み
パーミッションを変更しました。
$ls
id_rsa.pub
$mkdir .ssh/
$cat id_rsa.pub > /home/user/.ssh/authorized_keys
$chmod 600 .ssh/authorized_keys
$chmod 700 .ssh/
ここで公開鍵をもう一度、TeraTermで作成し直し
id_rsa.pubの内容を差し替えたい考えました。
そのため、
・rmコマンドで、authorized_keysを
・rmdirコマンドで.sshを
それぞれ削除しようとしましたができません。
パーミッションの変更が必要かと思い、
rootユーザーでログインし直したうえで、
下記のコマンドを実行してみましたが、
上手くいきません。
#chmod 755 .ssh/authorized_keys
chmod: cannot access ‘.ssh_authorized_keys’:No such file or directory
#chmod 755 .ssh/
chmod: cannot access ‘.ssh/’:No such file or directory
※LinuxはCentOS6.0を使用しています。
解決方法
カレントディレクトリを /home/userにしていないことが原因。
1.rootでログイン
↓
2.カレントディレクトリを、/home/userに変更
↓
3.#chmod 755でパーミッションの変更
↓
4.#rm,#rmdirコマンドで、authorized_keysと.ssh/を削除
結論として、パーミッションの変更をした
ファイルやディレクトリを削除するためには、
rootでログインした後に、
一般ユーザーの環境を引き継ぐことが、解決になりました。