![Linux: 別のユーザーとしてログインできるように authorized_keys を設定する方法](https://rvso.com/image/1557225/Linux%3A%20%E5%88%A5%E3%81%AE%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%81%A8%E3%81%97%E3%81%A6%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%20authorized_keys%20%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95.png)
ローカルユーザーID: GregD リモートユーザーID: GregTD
authorized_keys を設定して GregD としてログインする方法はわかっています。しかし、GregTD としてサーバーに接続する必要があります。authorized_keys を .ssh/ に追加したにもかかわらず (権限は正しく設定されています)、ssh-copy-id を正常に実行したにもかかわらず、GregTD@foo に ssh しようとすると、まだパスワードを求められます。
リモート .ssh のリスト:
GregTD@foo $ ls -alh
total 32K
drwx------+ 2 GregTD GregTD 4.0K Mar 29 10:53 ./
drwxrwxr-x+ 6 GregTD GregTD 4.0K Mar 29 10:52 ../
-rw-------+ 1 GregTD GregTD 398 Mar 29 10:53 authorized_keys
lrwxrwxrwx. 1 GregTD GregTD 15 Mar 29 10:31 authorized_keys2 -> authorized_keys
-rw-rw-r--+ 1 GregTD GregTD 188 Mar 29 10:18 known_hosts
私の .ssh のリスト:
$ ls -alh ~/.ssh/
total 200
drwx------ 16 GregD GregD 544B Mar 29 10:53 ./
drwxr-xr-x+ 184 GregD GregD 6.1K Mar 26 09:37 ../
-rwx------ 1 GregD GregD 2.1K Feb 28 12:09 authorized_keys*
-rwx------ 1 GregD GregD 679B Feb 28 12:09 config*
-rw------- 1 GregD GregD 1.7K Feb 28 12:09 github_rsa
-rw-r--r-- 1 GregD GregD 401B Feb 28 12:09 github_rsa.pub
-rw------- 1 GregD GregD 1.6K Feb 28 12:09 id_rsa
-rw-r--r-- 1 GregD GregD 398B Feb 28 12:09 id_rsa.pub
-rwx------ 1 GregD GregD 47K Mar 19 21:15 known_hosts*
私がやったこと:
$ ssh-copy-id GregTD@foo
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/Users/GregD/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
GregTD@foo's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'GregTD@foo'"
and check to make sure that only the key(s) you wanted were added.
$ ssh -v GregTD@foo
OpenSSH_7.4p1, LibreSSL 2.5.0
debug1: Reading configuration data /Users/GregD/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to foo [10.146.103.127] port 22.
debug1: Connection established.
debug1: identity file /Users/GregD/.ssh/id_rsa type 1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/GregD/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/GregD/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/GregD/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/GregD/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/GregD/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/GregD/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/GregD/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.4
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.4
debug1: match: OpenSSH_7.4 pat OpenSSH* compat 0x04000000
debug1: Authenticating to foo:22 as 'GregTD'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: aes128-ctr MAC: hmac-sha2-256 compression: none
debug1: kex: client->server cipher: aes128-ctr MAC: hmac-sha2-256 compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: A key
debug1: Host 'foo' is known and matches the ECDSA host key.
debug1: Found key in /Users/GregD/.ssh/known_hosts:124
debug1: rekey after 4294967296 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey after 4294967296 blocks
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<rsa-sha2-256,rsa-sha2-512>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/GregD/.ssh/id_rsa
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Trying private key: /Users/GregD/.ssh/id_dsa
debug1: Trying private key: /Users/GregD/.ssh/id_ecdsa
debug1: Trying private key: /Users/GregD/.ssh/id_ed25519
debug1: Next authentication method: password
GregTD@foo's password:
ssh -vv を 2 回実行しました。1 回は GregTD として (失敗)、もう 1 回は GregD として (成功)
違いは2つありました: 失敗:
debug1: rekey after 4294967296 blocks
debug2: key: /Users/m082166/.ssh/id_rsa (0x7fef96e12320)
成功:
debug1: rekey after 4294967296 blocks
debug2: key: /Users/m082166/.ssh/id_rsa (0x7fb600e0a420)
...
debug1: Offering RSA public key: /Users/m082166/.ssh/id_rsa
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg rsa-sha2-512 blen 279
2 回目の成功 (キーが変更されたかどうかを確認したかったのですが、変更されました):
debug2: key: /Users/m082166/.ssh/id_rsa (0x7fb600e0a420)
これらは役に立ちますか? 私がやろうとしていることはうまくいくはずですよね?