web-dev-qa-db-ja.com

Ubuntuでssh-copy-idを設定する

私はubuntu上でssh-copy-idを設定しようとしていますが、これに関するセカンドオピニオンが必要です、これは欠落している.pubパスまたはsshの間違った設定です

sammy@samuel-pc:~$ cat ~/.ssh/id_rsa.pub
cat: /home/sammy/.ssh/id_rsa.pub: Permission denied
sammy@samuel-pc:~$ ssh-copy-id [email protected]

/usr/bin/ssh-copy-id: ERROR: failed to open ID file '/home/sammy/.pub': No such file
    (to install the contents of '/home/sammy/.pub' anyway, look at the -f option)
sammy@samuel-pc:~$ cd .ssh
-bash: cd: .ssh: Permission denied


sammy@samuel-pc:~$ Sudo ls -l ~/.ssh/id_rsa.pub
[Sudo] password for sammy: 
-rwxr-xr-x 1 sammy sammy 397 Jul 12 20:25 /home/sammy/.ssh/id_rsa.pub

また、コンピューターからsshingを試みましたが、認証が壊れていたため、修正しようとしましたが失敗しました

samuel@samuel-pc:~$ ssh-copy-id [email protected]
/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
[email protected]'s password: 
sh: 1: cannot create .ssh/authorized_keys: Permission denied

Sudo ls -lsa ~/.sshの結果

sammy@samuel-pc:~$ Sudo ls -lsa ~/.ssh
[Sudo] password for sammy: 
Sorry, try again.
[Sudo] password for sammy: 
total 28
4 drw-rw-rw- 2 sammy sammy 4096 Jul 13 21:25 .
4 drwxr-xr-x 9 sammy sammy 4096 Jul 19 23:55 ..
4 -rwxr-xr-x 1 sammy sammy  790 Jul 13 21:35 authorized_keys
4 -rwxr-xr-x 1 sammy sammy 1675 Jul 12 20:25 id_rsa
4 -rwxr-xr-x 1 sammy sammy  397 Jul 12 20:25 id_rsa.pub
4 -rwxr-xr-x 1 sammy sammy 1024 Jul 13 12:48 .id_rsa.pub.swp
4 -rwxr-xr-x 1 sammy sammy  222 Jul 12 20:21 known_hosts

ls -ld ~/.sshの結果

sammy@samuel-pc:~$ ls -ld ~/.ssh
drw-rw-rw- 2 sammy sammy 4096 Jul 13 21:25 /home/sammy/.ssh

サーバーでsshの正しいアクセスを取得するにはどうすればよいですか?

3
Samuel Muiruri

次のコマンドは、~/.sshフォルダーのアクセス許可の問題を修正する必要があります

chmod 700 ~/.ssh
  • これにより、フォルダへの読み取り/書き込み/実行が許可されます-所有者(自分)のみ
  • 実行手段-ディレクトリの変更

次のコマンドは、~/.sshフォルダー内のファイルの正しい許可を設定します

chmod 400 ~/.ssh/*
  • ~/.sshフォルダー内のファイルには、所有者読み取り専用権限が必要です
  • chmod 400owner read-onlyパーミッションを設定します

~/.sshフォルダー/ファイルのアクセス許可を修正した後、ssh-copy-idコマンドを再度実行してみてください。

3
Yaron

ssh-copy-idを使用するには、ssh(id_rsa)キーファイルを生成する必要があります。私の場合、誤ってSudoでキーを生成した結果、id_rsaではなくid_rsa.pubの下に/root/.ssh/および/home/user/.ssh/ファイルが生成されました。そのため、ssh-copy-id someuser@somehostを達成しようとしています。

/usr/bin/ssh-copy-id: ERROR: failed to open ID file '/home/user/.pub': No such file
(to install the contents of '/home/user/.pub' anyway, look at the -f option)

誘惑は-fオプションを使用することですが、実際の解決策は単純です:Sudoなしでssh秘密鍵を生成するだけです:

ssh-keygen -t rsa

通常、以下の~/.ssh/ファイルコンテンツが機能するはずです。

user@ubuntu:~$ ll .ssh/
total 28
drwx------  2 user group 4096 Dec 30 16:17 ./
drwxr-xr-x 15 user group 4096 Dec 30 16:17 ../
-rw-------  1 user group 1773 Dec 30 17:23 authorized_keys
-rw-------  1 user group 1679 Jan  1  2016 id_rsa
-rw-r--r--  1 user group  399 Jan  1  2016 id_rsa.pub
-rw-r--r--  1 user group 2436 Dec 30 16:17 known_hosts
user@ubuntu:~$
0
baltasvejas

そのため、ファイル許可のいくつかのエラーが原因で問題が発生しています。

最初:ディレクトリには実行可能なフラグがありません。これは、システムが実際に変更して、その中のファイルにアクセスできないことを意味します。これで修正されるはずです。

chmod +x ~/.ssh

その後、公開キーと秘密キーのファイルのアクセス許可を調整する必要があります。これは、ユーザーのみが読み取り可能で、他のユーザーは何も読み取れないようにする必要があります。あなたが達成するもの:

chmod 400 ~/.ssh/*

これで問題が解決するはずです。時々sshは本当にうるさく、あなたの/home/userがグループ/他者によってまだ書き込み可能である場合、まだエラーを引き起こす可能性があります。そのため、安全のために、グループや他の人の書き込み許可をホームから削除してください。

chmod go-w ~/

これで問題が解決するはずです。

0
Ziazis