方法一:
使用下例中ssky-keygen和ssh-copy-id,仅需通过3个步骤的简单设置而无需输入密码就能登录远程Linux主机。
ssh-keygen 创建公钥和密钥。
ssh-copy-id 把本地主机的公钥复制到远程主机的authorized_keys文件上。
ssh-copy-id 也会给远程主机的用户主目录(home)和~/.ssh, 和~/.ssh/authorized_keys设置合适的权限 。
加密方式选 rsa|dsa均可以,默认dsa
步骤1: 用 ssh-key-gen 在本地主机上创建公钥和密钥
ssh-keygen -t rsa
步骤2: 用 ssh-copy-id 把公钥复制到远程主机上
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.103.117
[注: ssh-copy-id 把密钥追加到远程主机的 .ssh/authorized_key 上.]
步骤3: 直接登录远程主机
ssh 192.168.103.117
[注: SSH 不会询问密码.]
4、设置文件和目录权限:
设置authorized_keys权限
$ chmod 600 authorized_keys
设置.ssh目录权限
$ chmod 700 -R .ssh
注意:如果是通过其他的工具生成的公钥和私钥的话,则只需要吧公钥上传到服务器,~/.ssh/authorized_keys,,并更改目录和文件的相应权限,
chmod 700 -R .ssh
chmod 600 -R authorized_keys
总结注意事项
1、文件和目录的权限千万别设置成chmod 777.这个权限太大了,不安全,数字签名也不支持。我开始图省事就这么干了
2、生成的rsa/dsa签名的公钥是给对方机器使用的。这个公钥内容还要拷贝到authorized_keys
3、linux之间的访问直接 ssh 机器ip
4、某个机器生成自己的RSA或者DSA的数字签名,将公钥给目标机器,然后目标机器接收后设定相关权限(公钥和authorized_keys权限),这个目标机就能被生成数字签名的机器无密码访问了
实现无密码登录
通过上面可以实现无密码登录,但使用的是密钥登录的,下面介绍如何使用ssh不需要密码,进行登录系统的。
vim /etc/ssh/sshd_config
改这一行,去掉#号,并把no改成yes
PermitEmptyPasswords yes
vim /etc/shadow
把中间的密码删掉
bob::17130:0:99999:7:::
最后重启sshd服务
service sshd restart
最后使用bob用户登录,不会提示密码,就直接登录进去了。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前标题:ssh密钥登录-创新互联
网址分享:https://www.cdcxhl.com/article22/csepjc.html
成都网站建设公司_创新互联,为您提供企业建站、全网营销推广、外贸网站建设、网站营销、做网站、动态网站
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联