トラブルシューティング
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