## 测试.ssh目录文件是否存在,否则创建之 826 [ -d ~/.ssh ] || mkdir -m 600 ~/.ssh ## 查看权限 827 ls -dl ~/.ssh ## 获取文件名 # fgrep "auth" /etc/ssh/sshd_config ## 查看authorized_keys是否存在,否则创建之 828 [ -f ~/.ssh/authorized_keys ] || touch ~/.ssh/authorized_keys ## 设定其权限 829 chmod 0600 ~/.ssh/authorized_keys ## 查看权限 830 ls -l ~/.ssh/authorized_keys ## IO重定向追加至文件中(公钥在远程主机,私钥在本地主机。远程利用公钥加密一个数据,看本地主机能否解密,能则通过登陆系统。否则,....) 831 echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAGEAp9S/ev+YWkiEnAO6mziN2JOO21YbHK0I2fHwaIFW83OMFAWk9Bc+Kv0F6WkZ8ZW0dfgU0iv0W0SzJAc8gsedE6e1R3ALr7oEfhhvGk8+3/Bb22Ml2GqRgPJo8htOUvx5" >> ~/.ssh/authorized_keys ## 查看文件中的内容 832 cat ~/.ssh/authorized_keys
脚本
#!/bin/bash # Version: 0.0.12 # Author: Lcc.org # Description: Small toys [ -d ~/.ssh ] || install -d -m 700 ~/.ssh [ -f ~/.ssh/authorized_keys ] || touch ~/.ssh/authorized_keys Perm=$(ls -l ~/.ssh/authorized_keys | cut -d ' ' -f1) [ "$Perm" != "-rw-------" ] && chmod 0600 ~/.ssh/authorized_keys read -p "Enter a pubkey: " pubKey [ -n "$pubKey" ] && [[ "$pubKey" =~ ^ssh-rsa.*AAAA ]] && echo "$pubKey" >> ~/.ssh/authorized_keys
公钥来源:
1、本地主机上生成公钥和私钥,将公钥追加至远程主机的 ~/.ssh/authorized_keys文件中
2、非本地生成公钥和私钥,将公钥追加至远程主机的 ~/.ssh/authorized_keys文件中,私钥放于本地
生成密钥方法:
1、本地
2、linux主机
linux主机:
ssh-keygen [OPTIONS...] -b bits 指定密钥长度。对于RSA密钥,768,1024,2048,4096,8192 -f filename 指定密钥文件名。 -t type 指定要创建的密钥类型。可以使用:"rsa1"(SSH-1) "rsa"(SSH-2) "dsa"(SSH-2) -P passphrase 对私钥加密 1、生成密钥 [root@localhost ~]# ssh-keygen -b 768 -f /tmp/primarykey -t rsa -P '' Generating public/private rsa key pair. Your identification has been saved in /tmp/primarykey. Your public key has been saved in /tmp/primarykey.pub. The key fingerprint is: 00:4f:93:1c:d5:99:cb:b6:10:d8:4d:71:62:3e:bb:80 root@localhost.localdomain The key's randomart p_w_picpath is: +--[ RSA 768]----+ | ..+*.+=+. | | ++.oo=o | | o oo. | | o. +o | | E So.. | | ... | | . | | | | | +-----------------+ 2、查看 [root@localhost ~]# ls /tmp/primarykey* /tmp/primarykey /tmp/primarykey.pub 3、导入公钥至~/.ssh/authorized_keys [root@localhost ~]# cat /tmp/primarykey.pub >> ~/.ssh/authorized_keys 4、将私钥导入至本地主机 5、登陆