DamienKarrus’s blog

プログラミングとクライミングの足跡

パスワードなしでSSH/SFTP接続する方法 CentOS

クライアント側で公開鍵と秘密鍵を作成してサーバとクライアントにそれぞれ配置することによってパスワード認証なしでSSH接続できるようになる。
環境はクライアントがCentOS 5.9 (Final)、サーバがCentOS 7.9.2009 (Core)
手順は以下の通り  
クライアント側にて

$ cd ~
$ mkdir .ssh
$ chmod 700 .ssh
$ cd .ssh
$ ssh-keygen -t rsa
$ cat id_rsa.pub

ここで表示された公開鍵の内容をコピペしたいのでコピーしておく   サーバ側にてパスワードなしでログインしたいアカウントにログインする

$ cd ~
$ mkdir .ssh
$ chmod 700 .ssh
$ cd .ssh
$ vi a
(先ほどコピーしたものをペーストする)
:wq
$ touch authorized_keys
$ chmod 600 authorized_keys
$ cat a >> authorized_keys
$ rm a

SSHの設定ファイルに公開鍵による認証の設定をする

# vi /etc/ssh/sshd_config
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
:wq
# service sshd restart

これで設定は完了。クライアントから接続してみる

$ ssh hoge@hoge.hoge.hoge
[hoge]$

パスワードなしでログイン完了
これで、SFTPも同様にできるはず。

$ cat sendfile.txt
lcd /home/hoge
cd backup
put hogehoge.gz
bye

$ sftp hoge@hoge.hoge.hoge -b sendfile.txt
sftp> lcd /home/hoge/backup
sftp> cd backup
sftp> put hogehoge.gz
Uploading hogehoge.gz to /home/hoge/backup/hogehoge.gz
sftp> bye

できた。

次の記事

damienkarrus.hatenablog.com