ssh/sFTP 互信免密登陆(key pair)

密码的保存和保密是一件很麻烦的事,因为解密也是需要Key的,于是这就涉及到哲学中“先有鸡还是先有蛋”的问题。

那么问题来了,如果我们生产环境需要用到sFTP,密码如何保存呢?答案就是不用密码,把key种到对方服务器,建立互信关系。这个procedure同样适用于ssh帐号。
(生成private key 和public key。private key存在本地,public key 种在远程帐号。于是加密连接就靠这对key了。)

# 首先登陆客户端服务器。(用你跑job的account)
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen
 (回车再回车,当然第二个回车之前你可以输入密码来保护你的Key)
chmod 700 ~/.ssh/id_rsa.*

# 在客户端服务器上, ssh 到sFTP服务器。
ssh ftp_account@ftp_server
  (输入密码回车)
mkdir .ssh
chmod 700 .ssh
cd .ssh
touch authorized_keys
chmod 700 authorized_keys
exit

# 在客户端服务器上,运行ssh-copy-id来复制到sFTP服务器
ssh-copy-id -i ~/.ssh/id_rsa.pub ftp_account@ftp_server
   (输入密码回车)

# 大功告成!
Now you can try to use `ssh ftp_account@ftp_server` without password input
try `sftp ftp_account@ftp_server`

你可能感兴趣的:(ssh/sFTP 互信免密登陆(key pair))