1windows 下找不到 ssh-copy-id
ssh-copy-id : 无法将“ssh-copy-id”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
在您的powershell配置文件中添加以下内容:
function ssh-copy-id([string]$userAtMachine){
$publicKey = "$ENV:USERPROFILE" + "/.ssh/id_rsa.pub"
if (!(Test-Path "$publicKey")){
Write-Error "ERROR: failed to open ID file '$publicKey': No such file"
}
else {
& cat "$publicKey" | ssh $userAtMachine "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys || exit 1"
}
}
然后 在Powershell控制台中:再 执行 ssh-copy-id 就可以了 , 因为 ssh-copy-id 就是一段脚本
ssh-copy-id user@machine
2 配置 证书登录 (cent os7 环境)
生成 公钥和私钥 会提示输入:密钥存放位置(直接回车,默认在/home/ifshow/.ssh/目录)、密码短语、重复密码短语。
ssh-keygen -t rsa
导入公钥 id_rsa为私钥,id_rsa.pub为公钥。
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
记得 下载一份 id_rsa 下来 ,自己到时候 登录的时候用
设置文件夹权限( 基本上证书配了还是不能用证书登录80% 都是文件权限问题)
chown -R 0700 ~/.ssh
chown -R 0644 ~/.ssh/authorized_keys
chown -R ifshow:ifshow /home/ifshow
修改SSH配置文件,支持使用证书登录(root权限)
vi /etc/ssh/sshd_config
RSAAuthentication yes
StrictModes no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
重启服务
systemctl restart sshd.service
重点来啦 ,如果 还是不能用密匙登录的话
用debug 模式启动 ssh ,看具体报错再google 比什么都靠谱 ,我看了下我遇到的是文件权限问题
systemctl stop sshd.service
/usr/sbin/sshd -ddd