4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【VSCode】Remote-sshで鍵の設定を行ったのにパスワードを聞かれる

Posted at

VSCodeにはRemote-sshという拡張機能があり、
リモート先のファイルを普段と同じ環境で編集することが出来ます。

接続方式では鍵認証も行えるのですが、たまに鍵認証を設定してもパスワードを聞かれることがあるので、その時に確認する事柄を共有します。

環境

  • Visual Studio Code 1.43.2
  • Remote-SSH 0.51.0
  • OpenSSH 7.4p1
  • OpenSSL 1.0.2

リモート先サーバーの権限

リモート先サーバーがlinux系の場合、sshの権限は決められており、正しく設定する必要があります。

# リモート先サーバにて
$ chmod 600 ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh

.ssh/configの確認

.ssh/configに正しい形式で記述します。
VSCodeの拡張とは言え、コンソールからSSHできないと起動出来ません。

Host remote_server
    HostName 192.168.11.1
    User user
    IdentitiesOnly yes
    IdentityFile ~/.ssh/key_rsa

コンソールから、鍵で入れるかを試します。
正しい設定がされている場合、ssh (Host)だけでリモート先に接続出来ます。

identytyFileとtypoした例。

$ ssh remote_server
C:\\Users\\ragnar/.ssh/config: line 14: Bad configuration option: identytyFile
C:\\Users\\ragnar/.ssh/config: terminating, 1 bad configuration options

authorized_keysの権限

クライアントがUnix系の場合、クライアント側のauthorized_keysの権限も設定する必要があります。

$ chmod 700 ~/.ssh/authorized_keys

.ssh/configのHost名変更

ここまでの流れでコンソールからはSSHできるが、VSCodeではパスワードが聞かれる場合、
configのHostの名前を変更すると上手く行く場合がある。

user@hostnameとHostを設定している場合、拡張機能側でhostとuserを解釈されるようで、うまく動かなかった。
また、スペースも使用しないほうが良いようだ。

# NG
Host user@hoge
    HostName 192.168.11.1
    ...
# NG
Host user hoge server
    HostName 192.168.11.1
    ...
# OK
Host remote_server
    HostName 192.168.11.1
    ...
4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?