1.本地生成密钥和公钥
公钥的作用相当于锁,而私钥对应开锁的钥匙。首先输入ssh-keygen
,接着一路回车,windows默认存储路径为C:\Users\username\.ssh
,公钥名称为id_rsa.pub
,私钥名称为id_rsa
,linux默认路径为/home/username/.ssh
,文件名同windows。如果需要高安全性,可以用下面命令生成ssh-keygen -t rsa -b 4096 -C "[email protected]"
2.将公钥(锁)安装至debian
- 具体路径为
/home/username/.ssh
,没有这个路径请建文件夹,然后建立公钥(锁)文件authorized_keys
,将id_rsa.pub的内容粘贴到authorized_keys
,如果有其它的公钥(锁),可以append在后面。最后记得修改文件属性,改为chmod 600 authorized_keys
,只允许拥有者读写。 - 如果是linux下生成的密钥,可以用
ssh-copy-id username@server_ip
这个命令,它会自动将公钥添加到authorized_keys后,并自动修改文件属性。如果你没有ssh-copy-id
,可以使用下面的命令cat ~/.ssh/id_rsa.pub | ssh username@server_ip "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
3.测试
使用ssh username@ip_address
,应该会直接登录,不需要密码了。
4.禁止密码登录
输入nano /etc/ssh/sshd_config
,将PasswordAuthentication
、ChallengeResponseAuthentication
、UsePAM
三处后面改为no
。然后systemctl restart sshd.service
重新启动sshd服务,以后密码登录将被禁用。
0 条评论