ssh使用公钥 与 yubikey OTP

修改ssh 使用公钥 与 yubikey OTP

ssh 部分

~/.ssh/authorized_keys中添加公钥。没有文件则手动创建。

修改sudo nano /etc/ssh/sshd_config中的

  • 修改 SSH 登陆端口 Port 22
  • 可选 禁止Root用户密码登陆
    PermitRootLogin without-password

重启SSH服务

yubikey 部分

添加yubikey软件源

1
2
3
sudo add-apt-repository ppa:yubico/stable
sudo apt-get update
sudo apt-get install libpam-yubico

/etc/pam.d/sshd 中添加id,key

1
sudo nano /etc/pam.d/sshd
1
auth sufficient pam_yubico.so id=<ID> key=<API_KEY> debug authfile=/etc/yubikey_mappings mode=client

创建/etc/yubikey_mappings 设置用户与对应的yubikey

1
sudo nano /etc/yubikey_mappings
1
2
<user1>:<cccccyubikey1>:<cccccyubikey2>
<user2>:<cccccyubikey3>

设置ssh

1
sudo nano /etc/ssh/sshd_config

修改ChallengeResponseAuthentication noyes

1
ChallengeResponseAuthentication yes

增加

1
AuthenticationMethods publickey,keyboard-interactive:pam

重启SSH

1
sudo service sshd restart

参考文档 1
参考文档 2