分为以下几个步骤
1.local host生成RSA公有密钥和私有密钥
2.local host私有密钥配置
3.将公有密钥发送至remote host并配置
步骤1:
本机执行
$ssh-keygen -t rsa
可填写密钥名,如vps_rsa.
passphrase可直接按enter。
结束后可使用以下命令查看生成的私有密钥和公有密钥
$ls ~/.ssh/
里面的vps_rsa 和vps_rsa.pub分别为私有和公有密钥。
步骤2:配置该步骤后可以不用每次在执行ssh连接远程host的适合指定私有密钥路径。
如果在~/.ssh/目录下没有叫config的文件,新建。
$vim config
然后编辑以下内容(例),每一行根据自己的情况设置, 最后一行是生成的私有密钥路径。
Host vps
HostName ***.***.***.***
User username
IdentityFile "~/.ssh/vps_rsa"
chmod 600 config
步骤3:
将公有密钥从local发送到remote的host,
//local 执行
$cd ~/.ssh
$scp -P 22 vps_rsa.pub username@***.***.***.***:
此处的usrname和ip与步骤2中配置的一致,都是远程host的。
执行完后用平常的ssh方式登陆到远程host,会发现在home路径下收到了vps_rsa.pub这个文件。
然后将该文件移动到~/.ssh/并重命名为authorized_keys
//remote执行
$cd ~
$mkdir .ssh
$chmod 700 .ssh
$mv vps_rsa.pub .ssh/authorized_keys
$chmod 600 ~/.ssh/authorized_keys
步骤4(optional)
禁用ssh密码登录,增强安全性。
remote端运行
# /etc/ssh/sshd_config
设置
PChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM no
保存后
# /etc/init.d/sshd restart
以上配置完成。就可以通过local host上执行
$ssh vps
来以配置的username身份登陆到远程host,而且不用输入用户密码。
通过ssh特定账户的密钥访问远程host
最新推荐文章于 2022-06-19 22:00:30 发布