トラブルシューティング

ssh private-keyのパーミッション変更

webサイトからダウンロードしてきた秘密鍵は権限がsshに適さないので変更が必要.

$ chmod 0600 ~/.ssh/private-key.pem

Permission denied (publickey)

SSH Tips

IPアドレスに名前をつけたい

~/.ssh/configにホストエイリアスを設定する.

Host myserver
    HostName 192.168.1.1
    User yourusername
    Port 22

✅パスワードなしでサーバにログインする方法

クライアントで鍵生成

ssh-keygen. すべて質問はEnter.

サーバ側で鍵登録/ssh-copy-id

追記: ssh-copy-idという便利コマンドをしった. これをつかうとscpで鍵を転送して以下の設定をする必要がない. 使い方はいつものsshをするノリでssh-copy-idと叩くだけ, これはすごい!

$ ssh-copy-id (username)@xxx.xxx.xxx.xxx

autorized_keysの権限が600/その上のフォルダ(.ssh)は700であることに注意. ここはハマりポイント.

$ cat id_rsa.pub >> .ssh/authorized_keys
$ rm id_ras.pub
 
$ chmod 600 .ssh/authorized_keys

なお 所有者に自分がいるかも確認したほうがいいかも.

$ chown hogehoge .ssh/authorized_keys
$ chgrp hogehoge .ssh/authorized_keys

ここからはfish aliasの設定

.ssh/configに以下追加.

Host 160.16.xx.yyy
HostName 160.16.xx.yyy
User ubuntu

fishのエイリアスで以下を追加.

alias bakuchi 'ssh 160.16.xx.yyy -l ubuntu'

📝scp

Secure copy protocol(SCP)は, 安全にサーバ間でファイル転送をするためのプロトコル, 及びそのCLI.

サーバからローカルヘダウンロード

$ scp user@160.11.xx.xxx:/home/ubuntu/repo/hogehoge/foo.txt ~/tmp

References

posts