@peccul is peccu

(love peccu '(emacs lisp cat outdoor bicycle mac linux coffee))

EC2で動くLinuxインスタンスにrootでSSH接続する

tl;dr

  • /etc/ssh/sshd_configでPermitRootLoginをyesにしてsshdを再起動する
  • ~root/.ssh/authorized_keysに記載されている,command="echo 'Please login as the user \"ec2-user\" rather than the user \"root\".';echo;sleep 10"を消す

経緯など

SSHでrootユーザが直接ログインする是非は置いておいて、PermitRootLoginをyesにするだけでrootログインできると思いきや ssh接続時にエラーメッセージが出てしまった。

$ ssh -i path/to/key root@foobarbaz
Please login as the user "ec2-user" rather than the user "root".

$ 

少し調べたところauthorized_keysにcommandオプションが指定されていたのでこれを消すと回避できた。

そもそもauthorized_keysにこんなオプションがあるのを知らなかったので勉強になった

man.he.net

man pageのAUTHORIZED_KEYS FILE FORMATの項にいろいろ載ってた。

これを使うとssh時の操作ログ取りを仕込んだりできそう